我试图在IDE上使用mock运行Python单元测试:PyCharm.
由于我使用Mac(El Capiton),我无法做到:
pip安装模拟
因此我做了:
sudo -H pip install –ignore-installed six
sudo -H pip install –ignore-installed mock
它安装成功.现在,当我编写测试时,它会抛出以下错误:
File "/Library/Python/2.7/site-packages/mock/__init__.py", line 2, in
import mock.mock as _mock
File "/Library/Python/2.7/site-packages/mock/mock.py", line 68, in
from six import wraps
ImportError: cannot import name wraps
我该如何解决这个问题?
解决方法:
Mock需要six version 1.7 or newer.pip show six来获取版本和pip install –upgrade six来升级.
如果这不起作用,请检查正在加载的六个版本.
>检查Python版本
thomas:~$python -c 'import six; print(six.__version__)'
1.10.0
>使用pip show six检查点数版本
thomas:~$pip show six | grep ^Version
Version: 1.10.0
>检查Python位置
thomas:~$python -c 'import six; print(six.__file__)'
/Library/Python/2.7/site-packages/six.pyc
删除python版本和pip版本不同,从Python位置删除six.py和six.pyc