Ошибка при импорте файла пассажира_wsgi.py

В настоящее время я пытаюсь создать проект Django, используя пассажирский wsgi. Я выполнил инструкции, изложенные в этом посте:

Обновить новое Django и Python 2.7. * С virtualenv на Dreamhost (с пассажиром)

Однако я получаю сообщение об ошибке «Произошла ошибка при импорте вашего пассажира_wsgi.py».

Я смогу успешно получить приветственное сообщение, если поставлю его в качестве своего имя_пассажира_wsgi.py:

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

Но по какой-то причине, если я использую следующее (изложенное в сообщении выше), я не могу исправить ошибку. Я заменяю слово «проект» на свой именованный проект в строках path.append и os.environ и на subdomain.domain.com в строках path.insert. Я что-то упускаю? Я новичок в этом деле и буду признателен за любую помощь, которую могу получить! Спасибо.

Ниже приведен текущий файл пассажира_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

person sailboatlie    schedule 08.08.2012    source источник
comment
Вы заменили все остальные заменяемые детали?   -  person Ignacio Vazquez-Abrams    schedule 08.08.2012
comment
Я заменил строку добавления, строку версии, строку окружения и строки вставки. В чем я не уверен, так это в том, что делают строки вставки, и действительно ли я заменяю их правильными вещами ...   -  person sailboatlie    schedule 08.08.2012
comment
@sailboatlie, эти строки вставки гарантируют, что пассажир может найти библиотеку, когда вы позвоните import ...   -  person Trinh Hoang Nhu    schedule 05.08.2013


Ответы (1)


Вам следует изменить эту строку:

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

в

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

и убедитесь, что вы изменили project на имя вашего реального проекта (или приложения django)

person gcatalfamo    schedule 30.06.2013