2010-10-20 2 views
4

Это то, что я обнаружил, что в теории должно работать с GIT hub.com пассажиро-пилонов-WSGI-примерpassenger_wsgi.py на Dreamhost, чтобы пилоны работать

import os, sys                                   
sys.path.append('/home/user/test.sample.com/Helloworld')                  
os.environ['PYTHON_EGG_CACHE'] = '/home/user/tmp' 

from paste.deploy import loadapp                               

def application(environ, start_response):                            
    environ['SCRIPT_NAME'] = environ['PATH_INFO']                          
    application = loadapp('config:/home/user/test.sample.com/production.ini')          
    return application(environ, start_response) 

Пробовали на Dreamhost и я получаю:

произошло

ошибка импортирования ваш passenger_wsgi.py

Я также попробовал виртуальную среду, но это, похоже, не работает.

помните, что после выполнения инструкций у меня есть python 2.6, но не активируется в виртуальном каталоге.

Любые идеи?

Я также попытался добавить:

from fcgi import WSGIServer 

и после применения DEF:

server = WSGIServer(application) 
server.run() 

Но все-таки получить ту же ошибку. Я хочу это было немного более описательный характер, так что я мог отлаживать passenger_wsgi

ответ

4

Наконец нашел мой ответ:

import os, sys          
INTERP = "/home/user/local/bin/python" 
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)                         
sys.path.append('/home/user/test.sample.com/Helloworld')                  
os.environ['PYTHON_EGG_CACHE'] = '/home/user/tmp' 

from paste.deploy import loadapp                               

def application(environ, start_response):                            
    environ['SCRIPT_NAME'] = environ['PATH_INFO']                          
    application = loadapp('config:/home/denat/test.sample.com/production.ini')          
    return application(environ, start_response) 

Разница здесь в том, что виртуальная среда была установка с пилонами, но не использовал его. Из вики на Dreamhost мне нужно добавить следующие строки:

INTERP = "/home/user/local/bin/python" 
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)    

теперь у меня есть пилоны приложение работает! Ура!

Я знаю, что другие искали это, поэтому я надеюсь, что это им поможет.

+0

У вас возникли проблемы с получением «преждевременного конца заголовков скриптов» для вашего проекта Pylons на Dreamhost? Появляется моя основная страница/Default Pylons ... но когда я пытаюсь перейти на страницу действия контроллера (www.site.com/controller/action), я просто получаю 500 внутренних ошибок сервера ... приложение Pylons само работает при запуске используя сервер «localhost» ... но когда я проверяю приложение Pylons через Passenger, я получаю эту ошибку 500 ... heh heh – summea

+1

в ошибке 500 вы должны иметь возможность видеть файл журнала на dreamhost в журналах/www .site.com/Это должно помочь вам отладить его. Без кода я не могу сказать, где проблема. Надеюсь, это поможет. – Dean

+0

Спасибо за комментарий; через некоторое время, я думаю, что в конечном итоге я получил некоторые записи, прочитав некоторые из вики-страниц DreamHost, связанных с WSGI :) Еще раз спасибо! – summea

Смежные вопросы