繁体   English   中英

无法在终端中执行 ModuleNotFoundError。 但是在 pycharm ide 工作

[英]unable to execute ModuleNotFoundError in terminal . But work in pycharm ide

我正在学习 python

我的项目结构如下所示。

i3cmd
    i3lib
      __init__.py
      i3common.py
    i3sound
      i3sound.py

==================================================== =============

初始化.py 为空

i3common.py(删除了实际代码以简化帖子)

def rangeofdata(cmd, device, index):
    return ["a", "b", "c"]

i3sound.py(删除了实际代码以简化帖子)

from i3lib import i3common


def getvolume(rangedata):
    return rangedata


if __name__ == '__main__':
    rangedata = i3common.rangeofdata(["pactl", "list", "sinks"], "Sink", 2)
    print(getvolume(rangedata))

在 pycharm 中执行此代码时,它会执行并获取 output

/home/vipin/Documents/python/i3cmd/venv/bin/python /home/vipin/Documents/python/i3cmd/i3sound/i3sound.py
['a', 'b', 'c']

Process finished with exit code 0

但是当打开一个终端和 go 到 /home/vipin/Documents/python/i3cmd/i3sound

cd /home/vipin/Documents/python/i3cmd/i3sound

然后执行

python i3sound.py

我得到以下错误

Traceback (most recent call last):
  File "i3sound.py", line 1, in <module>
    from i3lib import i3common
ModuleNotFoundError: No module named 'i3lib'

我错过了什么?

您可能在 Pycharm 中运行项目的环境中安装了 package 'i3lib'。

您可以使用以下方法创建虚拟环境:

virtualenv .venv

激活虚拟环境:

source .venv/bin/activate

并通过以下方式安装 i3lib:

pip install i3lib

然后输入 python shell。

嘿@Vipin这是你需要做的:

在 i3sound.py 添加这些行: import syssys.path.append("..")

    import sys
    sys.path.append("..")
    from i3lib import i3common


    def getvolume(rangedata):
        return rangedata


    if __name__ == '__main__':
        rangedata = i3common.rangeofdata(["pactl", "list", "sinks"], "Sink", 2)
        print(getvolume(rangedata))

output:['a','b','c']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM