0
我有一个测试文件tests.py
。目前,以帮助隔离问题,该文件只包含以下行:无法使用pytest在测试中导入模拟
from mock import Mock
当我尝试运行此文件,pytest
:
$ py.test tests.py
我碰到下面的错误输出:
tests.py:1: in <module>
from mock import Mock
E ImportError: No module named mock
=========================== 1 error in 0.00 seconds ============================
如果我运行python
文件:
$ python tests.py
我没有得到这个错误。同样,如果我打开一个交互式口译员,我可以毫无问题地导入mock
。 为什么我在这种情况下无法访问mock
?
你检查你的PATH变量,也许你有另一个Python二进制跑步? –
谢谢@MichaelKarotsieris,让我走上正轨。我在virtualenv中,但pytest是通过我的操作系统包管理器(Ubuntu上的'apt')安装的。当我运行'py.test'命令时,我的虚拟环境在* sys.path中不是*,而是'mock'的安装位置。我必须删除通过'apt'安装的pytest版本,并通过'pip'将其安装在我的virtualenv中,以便它能够正常工作... – elethan
cool!很高兴帮助! :) –