在virtualenv中安装django haystack后,“错误:没有名为haystack的模块”

时间:2013-09-03 08:28:26

标签: python django virtualenv django-haystack virtualenvwrapper

我在生产服务器上安装django-haystack时遇到了问题。

当我运行以下任何命令时,我收到错误No module named haystack
python manage.py syncdb
python manage.py runserver
python manage.py shell

这是在开发服务器上运行的现有项目的克隆,因此我相信我的settings.py已正确配置。

我在virtualenv里面工作。我尝试使用pip多次卸载并重新安装django-haystack。

可能导致此错误的原因是什么?

更新:

通过以下步骤获得更多数据:

内部virtualenv:pip freeze - 未列出django-haystack 在virtualenv之外:pip freeze - 列出了django-haystack 在virtualenv之外:sudo pip uninstall django-haystack
在virtualenv之外:pip freeze - 未列出django-haystack 内部virtualenv:which pip - /home/{user}/.virtualenvs/{virtualenv}/bin/pip
在virtualenv内部:sudo pip install django-haystack 在virtualenv内:pip freeze - django-haystack仍未列出。 在virtualenv之外:pip freeze - 列出了django-haystack。

好奇不是吗? 我正在使用virtualenvwrapper(如果你不能从pip路径告诉)

为什么pip在我的virtualenv之外安装它(以及我注意到的其他一些软件包?)

2 个答案:

答案 0 :(得分:2)

在这里找到答案:Python packages not installing in virtualenv using pip

问题是我在virtualenv中使用sudo和pip。结果,pip正在我的virtualenv之外安装。

答案 1 :(得分:0)

pip uninstall haystack

pip install django-haystack