我开始学习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
目录