Python 如何在django中使用mock?
我试图从安装django的模拟库 但是当我打字的时候Python 如何在django中使用mock?,python,django,mocking,virtualenv,Python,Django,Mocking,Virtualenv,我试图从安装django的模拟库 但是当我打字的时候 pip install -U mock 在virtualenv中,然后尝试 import mock 从django项目的shell中,我得到: ImportError: No module named mock 我能做什么?检查模块是否在路径中。为此,在Python shell中: >>> import sys >>> print sys.path 如果安装正确,您应该可以在其中一个打印出来的目录中
pip install -U mock
在virtualenv中,然后尝试
import mock
从django项目的shell中,我得到:
ImportError: No module named mock
我能做什么?检查模块是否在路径中。为此,在Python shell中:
>>> import sys
>>> print sys.path
如果安装正确,您应该可以在其中一个打印出来的目录中看到mock
目录
如果您没有找到mock
目录,我假设pip
没有在virtualenv
packages目录中安装模块。好的,这是我的错
我通过以下方式运行shell和测试:
./manage.py
而不是
python manage
所以我的virtualenv目录没有包含在sys.path中,模拟包不可用。谢谢您的帮助。pip将软件包“flat”安装到站点软件包目录中,这样您就不会在sys.path中看到它。也许我遗漏了一些东西,但即使是flat软件包也应该在
sys.path中看到。
否?请详细说明.sys.path仅显示搜索路径,而不是模块路径。因此,如果pip安装mock,比如说/usr/lib/python2.6/site-packages
,那么这就是您在sys.path中看到的。不是/usr/lib/python2.6/site-packages/mock
。轻松安装将每个软件包安装到专用文件夹中,这样它就必须将该文件夹添加到sys.path中,您可以看到mock-x.x,例如/usr/lib/python2.6/site-packages/mock-0.8.0beta4-py2.6.egg
。啊,是的。我明白这一点。我的回答没有解释这一点。我道歉。看起来@santino很好地解决了他/她的问题。