Python ModuleNotFoundError 仅在命令行执行中而不是在 IDE 中

问题描述 投票:0回答:1

我在运行简单程序时看到

ModuleNotFoundError
错误。

该项目是使用Poetry创建的,设置如截图所示。

h.py
有这个:

def add(num1, num2):
    return num1 + num2

s.py
有这个:

from src.helper.h import add


def main():
    print(add(1, 2))


if __name__ == "__main__":
    main()

如果我从 PyCharm IDE 中执行代码,我会正确看到输出。如果我使用

python3 src/scripts/s.py
从命令行执行,我会看到如下错误:

Traceback (most recent call last):
  File "/Users/me/dev/python-learn/src/scripts/s.py", line 1, in <module>
    from src.helper.h import add
ModuleNotFoundError: No module named 'src'

我尝试将

__init.py__
添加到每个目录
src
helpers
scripts
。这并没有解决问题。

有人可以告诉我我错过了什么吗?预先感谢!

python-3.x runtime-error python-module modulenotfounderror
1个回答
0
投票

尝试

poetry run python3 [your_script].py

虽然诗歌已经初始化了你的项目并且你可能已经运行了

poetry install
,但是当你直接运行时你不一定使用诗歌环境
python3 src/scripts/s.py

访问诗歌环境主要有两种方式:

  1. 内联,正如我上面提到的
  2. 通过激活持久的诗歌外壳。查看更多信息在诗歌文档中
© www.soinside.com 2019 - 2024. All rights reserved.