在服务器上导入passenger_wsgi.py时出错

时间:2014-04-22 04:25:11

标签: python django passenger dreamhost

我收到错误"导入您的passenger_wsgi.py"在dreamhost服务器上

passenger_wsgi.py文件

import sys, os
INTERP  = '/home/dramira/books.everycrave.me/intra/bin/python'
sys.path.append('/home/dramira/books.everycrave.me/flipbook/')
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)
sys.path.append(os.getcwd())
os.environ['DJANGO_SETTINGS_MODULE'] = "settings"
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

我在编译passenger_wsgi.py时遇到的确切错误是

Traceback (most recent call last):
  File "passenger_wsgi.py", line 7, in <module>
    import django.core.handlers.wsgi
ImportError: No module named django.core.handlers.wsgi

我检查了为其他网站编译的passenger_wsgi.py文件,它在同一台服务器上工作正常。 我不知道我在这里遇到了什么问题。 请帮帮我。

1 个答案:

答案 0 :(得分:0)

您的passenger_wsgi.py看起来与我的相似,也是在Dreamhost上托管的。我突出的三个不同之处:

  1. 您只需将当前目录os.getcwd()添加到sys.path。在我的,我添加当前目录和项目目录:os.path.join(os.getcwd(), 'projectname'))
  2. 您的DJANGO_SETTINGS_MODULE仅被称为'settings'。我使用合格的模块:'projectname.settings'
  3. 这可能是Django版本的差异 - 我在1.7上 - 但在某些时候我不得不离开application = WSGIHandler()
  4. 我现在的实际WSGI调用是:

    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()