【问题标题】:ImportError when using Haystack 2.0.0 with Django 1.5 and Gunicorn WSGI将 Haystack 2.0.0 与 Django 1.5 和 Gunicorn WSGI 一起使用时出现 ImportError
【发布时间】:2013-06-07 14:48:00
【问题描述】:

我使用 django-haystack 2.0.0 来索引我的网站,在我升级到 Django 1.5 并开始使用 WSGI 接口之前,它一直运行良好。如果我只使用 django_gunicorn 命令效果很好,但 Django 文档“强烈建议”我使用 gunicorn 命令。

当我使用 gunicorn 命令启动我的网站时,Haystack 在任何页面加载时都会引发以下错误:

ImportError: cannot import name signals

我从 Django 或 Python shell 导入信号没有问题。我使用 virtualenv 并在该环境中本地安装所有软件包。我的 wsgi.py 文件看起来就像 django admin 中的默认文件,除了我将本地路径添加到 python 路径:

path = os.sep.join(os.path.abspath(__file__).split(os.sep)[:-2])
if path not in sys.path:
    sys.path.append(path)`

非常感谢您提供的任何帮助,谢谢!

【问题讨论】:

    标签: django virtualenv wsgi django-haystack gunicorn


    【解决方案1】:

    我不使用 gunicorn,但是当我使用 HAYSTACK_SIGNAL_PROCESSOR 设置指向我编写的自定义类时,我遇到了同样的问题。该类导入了我的一个模型,该模型最终沿导入链向上传播,以导入我的设置模块,从而导致循环导入。

    当使用指向类的设置(例如 HAYSTACK_SIGNAL_PROCESSOR)时,请确保该类是独立的,并且不会直接或间接导入 Django 设置文件。

    【讨论】:

      猜你喜欢
      • 2012-08-17
      • 1970-01-01
      • 2013-07-12
      • 1970-01-01
      • 2012-09-09
      • 2019-01-31
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多