在虚拟环境中安装pytest模块之后,我使用python代码调用并运行提示来查找pytest模块。
我在虚拟环境之外安装了pytest模块。我可以用蟒蛇叫它。
import pytest
def test_main():
assert 5!=5
if __name__ == "__main__":
pytest.main()错误如下:
运行python -u "d:\MyPytest\test_sample.py“跟踪(最近一次调用):文件"d:\MyPytest\test_sample.py",第1行,在导入pytest ModuleNotFoundError:没有用code=1完成的模块在0.185秒内退出
发布于 2019-04-12 14:13:36
TLDR:我怀疑您在系统级python站点中安装了pytest --所以当您尝试在virtualenv中运行pytest时,它会抛出一个ModuleNotFoundError,因为它在virtualenv中没有安装这个依赖项。虚拟环境为您提供了一个沙箱环境,这样您就可以为您的项目尝试使用潜在的python库,但是它们是独立的,并且无法访问系统级别的python第三方库。
通常,当导入语句在成功导入指定模块时遇到问题时会引发ImportError。如果问题是由于路径无效或不正确造成的,则会引发ModuleNotFoundError。
从您的问题来看,不清楚您在哪里安装了pytest,因为您说您在您的virtualenv中安装了它,然后您说您在您的系统级python站点上的virtualenv之外安装了它-软件包。因此,我将给出让pytest在virtualenv中工作的想法,因为这可能是您想要的:
Virtualenv很不错,因为它为您提供了一个沙箱环境来处理python库,可以安全地破坏您的系统级python配置。现在,在您的ModuleNotFoundError中抛出ModuleNotFoundError,因为它无法为您试图运行的测试找到模块。也许您可以尝试激活您的virtualenv并在这个virtualenv中重新安装pytest,看看这个操作过程是否解决了您的问题:
激活您的虚拟主机:
# Posix systems
source /path/to/ENV/bin/activate
# Windows
\path\to\env\Scripts\activate在您的虚拟环境中安装pytest ::
注意事项:在安装pytest之前,您应该在括号中看到您的virtualenv's名称。对于本例,假设您创建了一个名为:env的虚拟环境
(env) pip install pytest现在,pytest将在您的virtualenv中提供给您。要了解更多信息,请查看virtualenv的文档。我还建议查看虚拟包装器,,它很好地封装了virtualenv以获得更方便的激活/停用virtualenvs的命令。
希望这能帮上忙!
发布于 2022-02-02 23:54:32
如果这不是virtualenv的情况,那么试试python3 -m pytest。
发布于 2022-06-08 10:31:48
在我的情况下,如果我使用vscode终端。我也有同样的错误。然后,我尝试了同样的使用CMD和它的工作。因此,我建议使用系统终端而不是任何第三方终端。
cmd: python -m pytest
https://stackoverflow.com/questions/55652866
复制相似问题