我知道这很容易,并且我知道其他在线人也问过这个问题,但是我觉得我理解了他们的所有答案和概念,但是我的导入仍然会引发错误。
我有这个目录结构
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
答案 0 :(得分:1)
根据提供的信息重新创建您的项目,我能够重现您的错误并通过在测试目录下包含一个__init__.py
文件来解决该错误。
这是我的项目结构:
__init__.py
module.py
__init__.py
test_1.py
这应该可以让您成功运行pytest tests
。