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'

我为他们找到了一些类似的问题和解决方案,但没有一个对我有用。 My project structure looks as follow

解决方法

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

这就是为什么它可以在PyCharm中运行,而不是在shell中运行的原因。您的PyCharm和终端环境具有不同的PATH设置。

尝试更改导入来源

from src.agents import prob

from proj_lokalizacja.src.agents import prob

同时在同一位置运行pytest(如我们在评论中所述)

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...