【问题标题】:"Error: No module named haystack" after installing django haystack inside virtualenv在 virtualenv 中安装 django haystack 后出现“错误:没有名为 haystack 的模块”
【发布时间】:2013-09-06 09:42:10
【问题描述】:

我无法在生产服务器上安装 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。
外部虚拟环境:sudo pip uninstall django-haystack
在 virtualenv 之外:pip freeze - django-haystack 未列出。
在 virtualenv 内部:which pip - /home/{user}/.virtualenvs/{virtualenv}/bin/pip
虚拟环境内部:sudo pip install django-haystack 在 virtualenv 内部:pip freeze - django-haystack 仍未列出。 在 virtualenv 之外:pip freeze - 列出了 django-haystack。

好奇是不是?
我正在使用 virtualenvwrapper(如果您无法从 pip 路径中分辨出来)

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

【问题讨论】:

  • 您是否在 settings.py 的已安装应用程序中包含 django-haystack?
  • 你确定你已经将 haystack 安装到 virtualenv 中了吗?安装前检查which pip
  • 是的,是的。我在 installed_apps 中列出了 haystack,并且 django-haystack 正在安装到 virtualenv 中。
  • 谢谢。你能显示你的设置吗?
  • Settings.py 粘贴在这里:pastebin.com/e6yj6z3V。另一件需要注意的事情是 haystack 通过 django-oscar 使用 get_core_apps 方法包含在 installed_apps 中。我也尝试过明确添加干草堆。

标签: python django virtualenv django-haystack virtualenvwrapper


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:
    pip uninstall haystack
    
    pip install django-haystack
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-23
      • 2014-01-18
      • 2012-12-19
      • 1970-01-01
      • 2016-06-17
      • 1970-01-01
      相关资源
      最近更新 更多