4

这就是我发现理论上应该可以从 git hub.compassenger-pylons-wsgi-example

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

1 回答 1

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)

这里的不同之处在于虚拟环境是用 pylons 设置的,但没有使用它。从 dreamhost 上的 wiki 我需要添加以下几行:

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

我现在有一个可用的 pylons 应用程序!耶!

我知道其他人一直在寻找这个,所以我希望这对他们有所帮助。

于 2010-10-20T04:53:24.860 回答