pytest'没有命名的模块......'在测试模块中导入

时间:2017-11-25 12:03:58

标签: python flask pytest importerror pythonpath

我发现了一些相似的问题,但并没有完全解决我的问题(例如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,这很好用。

from MyApp import app

但在app.py中我导入config.py就像这样。

import config

通过此设置,我可以运行app模块,但pytest无法导入' config'并加注:

ImportError: No module named 'config'

当我将app.py中的import语句更改为:

时,

pytest成功

from MyApp import config

但是,当我尝试运行应用程序时出现错误:

ImportError: No module named 'MyApp'

通过阅读其他问题,我确信PYTHONPATH存在问题,我无法弄清楚如何解决这个问题。

1 个答案:

答案 0 :(得分:2)

将PYTHONPATH变量设置为项目的根文件夹,并设置相对于此的所有其他路径

在同一文件夹中使用

导入模块

如果从其他文件夹引用,请使用

来自模块导入类

如上所述更改项目中的引用,应该解决