Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在django中使用mock?_Python_Django_Mocking_Virtualenv - Fatal编程技术网

Python 如何在django中使用mock?

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 如果安装正确,您应该可以在其中一个打印出来的目录中

我试图从安装django的模拟库

但是当我打字的时候

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很好地解决了他/她的问题。