首页 > 解决方案 > 无法在终端中执行 ModuleNotFoundError。但是在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 中执行此代码时,它会执行并获取输出

/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

但是当打开终端并转到 /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'

我错过了什么?

标签: pythonpycharm

解决方案


您可能已经在 Pycharm 中运行项目的环境中安装了包“i3lib”。

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

virtualenv .venv

激活虚拟环境:

source .venv/bin/activate

并通过以下方式安装 i3lib:

pip install i3lib

然后进入python shell。


推荐阅读