Pytest:ModuleNotFoundError:没有名为"src"的模块



我开始学习pytest,稍后我想将其与Travis集成。我已经创建了我的第一个测试,我可以从PyCharm运行它们,不会有任何问题。但是当我尝试从Linux的终端运行pytest时,我得到了以下错误:

Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.6/importlib/__init__.py:126: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
test_prob.py:1: in <module>
from src.agents import prob
E   ModuleNotFoundError: No module named 'src'

我发现了一些类似的问题和解决方案,但没有一个对我有效。我的项目结构如下

我遇到了同样的问题,我的解决方案是将pytest作为一个模块执行。

python -m pytest

您似乎已将src标记为";源根";PyCharm中的目录(该目录的蓝色表示(,这意味着它已添加到PATH中。

这就是为什么它在PyCharm中工作,而不是在shell中工作。您的PyCharm和终端环境具有不同的PATH集合。

尝试更改的导入

from src.agents import prob

from proj_lokalizacja.src.agents import prob

同时从同一位置运行pytest(正如我们在评论中所讨论的(

如果您不想更改导入语句,则必须更新PATH环境变量,使其也包含src目录

相关内容

  • 没有找到相关文章

最新更新