gpt4 book ai didi

python - pytest 'No module named ...' 用于在测试模块中导入

转载 作者:行者123 更新时间:2023-12-01 02:25:13 26 4
gpt4 key购买 nike

我发现了一些类似的问题,但没有完全解决我的问题(例如 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com