导入passenger_wsgi.py文件时出错

时间:2012-08-08 02:32:54

标签: django passenger wsgi dreamhost

我目前正在尝试使用乘客wsgi设置Django项目。我按照这篇文章中的说明进行了操作:

Update new Django and Python 2.7.* with virtualenv on Dreamhost (with passenger)

但是,我收到错误“导入您的passenger_wsgi.py时出错”

如果我把它作为我的passenger_wsgi.py,我能够成功收到一条问候消息:

def application(environ, start_response):
    start_response('200 OK', [('Content-type', 'text/plain')])
    return ["Hello, world!"]

但由于某种原因,如果我使用以下内容(在上面的帖子中概述),我无法通过错误。我在path.append和os.environ行上用我的命名项目替换'project'这个词,在path.insert行上用subdomain.domain.com替换。我错过了什么吗?我对这些东西很新,并且非常感谢我能得到的任何帮助!感谢。

以下是接收导入错误的当前passenger_wsgi.py。

import sys, os
cwd = os.getcwd()
sys.path.append(cwd)
sys.path.append(cwd + '/project')

if sys.version < "2.7.3": os.execl("$HOME/<site>/env/bin/python",
"python2.7.3", *sys.argv)

sys.path.insert(0,'$HOME/<site>/env/bin')
sys.path.insert(0,'$HOME/<site>/env/lib/python2.7/site-packages/django')
sys.path.insert(0,'$HOME/<site>/env/lib/python2.7/site-packages')

os.environ['DJANGO_SETTINGS_MODULE'] = "project.settings"
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

更新我能够获得进口的乘客wsgi,但现在我收到500错误。这就是我现在坐的地方:

import sys, os
sys.path.append(os.getcwd())
sys.path.append(os.path.join(os.getcwd(), 'project'))

sys.path.insert(0, 'home/<site>/env/bin')
sys.path.insert(0, 'home/<site>/env/lib/python2.7/site- packages/django')
sys.path.insert(0, 'home/<site>/env/lib/python2.7/site-packages')
sys.path.insert(0, 'home/<site>/roommates')

os.environ['DJANGO_SETTINGS_MODULE'] = "project.settings"
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

我再一次陷入困境。我似乎无法找到为什么我收到此错误。每次尝试时,错误日志中显示的当前错误如下:

Premature end of script headers:
Premature end of script headers: internal_error.html

1 个答案:

答案 0 :(得分:0)

您应该更改此行:

sys.path.append(os.path.join(os.getcwd(), 'project'))

sys.path.append(os.path.join(os.getcwd() + 'project'))

并确保使用真实项目(或django app)的名称更改 project