为乘客wsgi部署人员使用定制python安装

2024-04-26 07:47:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在本地开发一个django项目,并试图将其部署到我的dreamhost帐户。我从许多过时的教程中编译了说明,并在python3.4.3下为自己定制了python和virutalenv

现在我要尝试设置我的passenger_wsgi.py来使用我设置的虚拟环境。这是基本应用程序的外观(甚至还没有接触到django):

import sys, os

INTERP = os.path.expanduser("~/venv/bin/python")
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)

def application(environ, start_response):
    start_response('200 OK', [('Content-type', 'text/html')])
    return ["Hello, world! from %s: %s\n" % (sys.version, sys.executable)]

如果我删除第二行和第三行,程序在Dreamhost的Python2.7.3安装下运行得非常好。然而,当我把它们包括进来时,我在提出请求时得到的是一个空的响应。

我尝试过许多不同的方法来检查可执行文件,但都不能使它们正常工作。为什么会是一个空洞的回应?如果它不能正常工作,不应该有错误吗?我在错误日志中找不到任何内容。


Tags: 项目djangoosresponse部署错误sys教程
1条回答
网友
1楼 · 发布于 2024-04-26 07:47:20

问题是我没有将python插入系统路径。在

sys.path.insert(0,'$HOME/venv/bin')

下面是django项目的完整解决方案。这应该适用于任何与wsgi兼容的application。在

^{pr2}$

相关问题 更多 >