【发布时间】:2011-04-30 20:09:22
【问题描述】:
我在使用 virtualenv 在passenger_wsgi 模块上部署Django 时遇到了一些麻烦。 passenger_wsgi.py 文件中的 Python 代码应该可以解决我的问题:
import os, sys
INTERP = '/home/login/.virtualenvs/env_name/bin/python'
if sys.executable != INTERP:
os.execl(INTERP, INTERP, *sys.argv)
前三行我理解,但我对第四行只有一个非常模糊的想法,而那一行恰好给我一个错误:
/home/login/.virtualenvs/env_name/bin/python: can't find '__main__.py' in ''
那么 os.execl 到底在做什么呢?那条错误消息是什么意思?
【问题讨论】:
-
你真的有一个名为
<login>的目录吗?你是怎么做到的?这很难做到。 -
不,我只是不想在这里发布我的实际路径;)
-
加入
<login>和<env_name>会让你很难尝试你的问题。我不知道你认为你在保护什么“秘密”,但你应该选择没有 shell 特殊字符的名称。 -
好的,编辑成没有的版本
标签: python virtualenv os.execl