我在这里关注这个例子:http://code.google.com/p/modwsgi/wiki/IntegrationWithPylons
然而,它不起作用 - 我在apache错误日志中得到“ImportError:没有名为paste.deploy的模块”。在这种情况下谷歌搜索没有帮助 - 我看到一些关于权限的东西,但我的所有权限都很好。 paste.deploy真的来自哪里?它来自site-packages中的PasteDeploy-1.3.4-py2.6.egg,安装在我的pylonsdevenv目录中,对吧?那么,apache应该如何知道该目录呢?实际的pylons项目是否必须在pylonsdevenv目录中?
谢谢!
答案 0 :(得分:4)
我补充说:
import site
site.addsitedir('/<yadayada>/pylonsdevenv/lib/python2.6/site-packages')
到我的wsgi文件的顶部,然后在我的development.ini文件(以及稍后的deployment.ini文件,我推测)中设置debug = False,这似乎有效......
答案 1 :(得分:1)
如果您可以手动导入(从paste.deploy import loadapp),则必须是sys.path的问题。还要确保apache使用正确的python解释器。我在Dreamhost上的“passanger_wsgi.py”中有类似的东西:
INTERP = "/home/myuser/bin/python"
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)
cwd = os.getcwd()
sys.path.append(os.getcwd())
sys.path.append('/home/myuser/blog')
您可以尝试进行一些调试并检查“sys.path”中的路径。
希望这有帮助。