找不到模块错误:没有名为“src”的模块

新手上路,请多包涵

每当我在终端运行 main.py 时,我都会收到错误消息

ModuleNotFoundError:没有名为“src”的模块

但是它在 PyCharm 中运行良好。

项目结构:

 -project
  -resources
  -src
    -package1
      -script1.py
      -script2.py
    -package2
      -script3.py
    -main.py

这是我在终端中运行的:

 project$ python src/main.py

错误:

 Traceback (most recent call last):
  File "src/main.py", line 1, in <module>
    from src.package1 import script1
ModuleNotFoundError: No module named 'src'

我已经尝试将文件夹/包“src”的绝对路径添加到 sys.path

 main.py

 from src.package1 import script1
from src.package1 import script2
from src.package2 import script3

if name=="__main__":
  ...
  ...

 sys.path

current sys.path is ['/home/xyz/Projects/project/src', '/home/xyz/Apps/anaconda3/envs/project/lib/python37.zip', '/home/xyz/Apps/anaconda3/envs/project/lib/python3.7', '/home/xyz/Apps/anaconda3/envs/project/lib/python3.7/lib-dynload', '/home/xyz/Apps/anaconda3/envs/project/lib/python3.7/site-packages', 'src/main.py']

原文由 Wave 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 3.4k
2 个回答

https://docs.python.org/3/tutorial/modules.html#the-module-search-path

当导入名为 spam 的模块时,解释器首先搜索具有该名称的内置模块。如果未找到,它将在变量 sys.path 给出的目录列表中搜索名为 spam.py 的文件。 sys.path 从这些位置初始化:

  • 包含输入脚本的目录(或未指定文件时的当前目录)。
  • PYTHONPATH (目录名列表,语法与shell变量PATH相同)。
  • 安装相关的默认值。

由于您提供了一个文件 src/main.py ,它包含的文件夹将成为搜索根目录。您可以在不指定 src. 部分的情况下导入模块。

原文由 tevemadar 发布,翻译遵循 CC BY-SA 4.0 许可协议

你应该能够运行它 project$ python -m src.main

来源: https ://qavalidation.com/2021/03/how-to-resolve-modulenotfounderror-no-module-named-src.html/

原文由 Will 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题