我发现了一些类似的问题,但没有完全解决我的问题(例如 PATH issue with pytest 'ImportError: No module named YadaYadaYada' )
我的项目结构如下:
MyApp
|
+--MyApp
| |
| +--__init__.py
| +--app.py
| +--config.py
|
+--tests
|
+--__init__.py
+--test_app.py
在我的 test_app.py 中,我导入了 app.py,它工作得很好。
从 MyApp 导入应用
但在 app.py 中,我像这样导入 config.py。
导入配置
通过此设置,我可以运行应用程序模块,但 pytest 无法导入“config”并引发:
导入错误:没有名为“config”的模块
当我将 app.py 中的导入语句更改为:
时,pytest 成功从 MyApp 导入配置
但是,当我尝试运行应用程序时出现错误:
导入错误:没有名为“MyApp”的模块
通过阅读其他问题,我确信 PYTHONPATH
有问题,我只是不知道如何解决这个问题。
最佳答案
将 PYTHONPATH 变量设置为项目的根文件夹,并设置与此相关的所有其他路径
在您使用的同一文件夹中
导入模块
如果从您使用的其他文件夹引用
来自模块导入类
按上述方式更改项目中的引用,问题应该可以解决
关于python - pytest 'No module named ...' 用于在测试模块中导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47485759/