【问题标题】:ModuleNotFoundError: No module named 'pkg'ModuleNotFoundError:没有名为“pkg”的模块
【发布时间】:2023-11-04 12:41:01
【问题描述】:

上面提到的我的项目结构,在 test_a.py 中试图导入 a.py 中存在的 func

from pkg_1.code.a import sample

错误:ModuleNotFoundError:没有名为“pkg_1”的模块

(基础)C:\Test\pythonT1>C:/Users/%%%/AppData/Local/Continuum/anaconda3/python.exe c:/Test/pythonT1/pkg_1/test/test_a.py 回溯(最近一次通话最后): 文件“c:/Test/pythonT1/pkg_1/test/test_a.py”,第 1 行,在 从 pkg_1.code.a 导入样本 ModuleNotFoundError: 没有名为“pkg_1”的模块

【问题讨论】:

  • 忽略它,我的文件里有正确的,在这里打字时错字
  • 你是如何运行文件 d.py 的?通过 app.py?
  • 从 pkg.subpkgB.d 导入 (funcName)
  • 是的,但在哪里?在 app.py 中?你实际上是如何运行你的代码的。发布完整的堆栈跟踪,而不是只发布一行错误。
  • 我已经更新了我的问题,并举了适当的例子,有人可以帮忙吗?

标签: python python-import importerror


【解决方案1】:

这确实是一条评论,但由于 cmets 的格式限制,我将其发布为答案。试试这个:

--pkg
  --src
    --pkg  
      --a.py
      --__init__.py
  --tests
    --__init__.py
    --test_a.py

【讨论】: