我在生产服务器上安装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之外安装它(以及我注意到的其他一些软件包?)
答案 0 :(得分:2)
在这里找到答案:Python packages not installing in virtualenv using pip
问题是我在virtualenv中使用sudo和pip。结果,pip正在我的virtualenv之外安装。
答案 1 :(得分:0)
pip uninstall haystack
pip install django-haystack