Python导入错误:没有名为<myPackage>

时间:2019-08-27 17:21:34

标签: python import package pytest

我知道这很容易,并且我知道其他在线人也问过这个问题,但是我觉得我理解了他们的所有答案和概念,但是我的导入仍然会引发错误。

我有这个目录结构

root/myPackage/
root/tests/test_1.py

在test_1.py中,我有

import myPackage
...

我正在从根目录运行命令行:

$ pytest tests OR python tests/test_1.py

...可以使此脚本真正运行的任何方法。我以前用过pytest并运行过python脚本

而且我不断得到

No module named 'myPackage' error

我想,如果我从根目录运行测试,我仍然可以访问myPackage ...这确实与我以前的理解和互联网背道而驰...如果您知道我为什么导入错误,请发送帮助。

此外,当我从tests目录中取出test_1.py并从根目录运行它时,它不会出现错误。所以这种结构有效

root/myPackage/
root/test_1.py

1 个答案:

答案 0 :(得分:1)

根据提供的信息重新创建您的项目,我能够重现您的错误并通过在测试目录下包含一个__init__.py文件来解决该错误。

这是我的项目结构:

root / myPackage

  • __init__.py

  • module.py

root / tests

  • __init__.py

  • test_1.py

这应该可以让您成功运行pytest tests