在apache上运行mod_wsgi时是否有任何理由不强制sys.path?

时间:2012-08-30 20:14:27

标签: python django mod-wsgi

所以,在对mod_wsgi和apache下的路径情况感到沮丧一次之后,我把蛮力锤给了它。

现在我想知道是否还有其他陷阱。

我激活了我的virtualenv然后运行

(virtualenv)$python
>>> import sys
>>> for i in sys.path:
>>>   print "'{}',".format(i)
>>> quit()

然后我将其粘贴到我的wsgi文件中,如下所示:

import sys
sys.path = [

    Block of stuff printed out

]

这样,apache的sys.path与我运行调试服务器时的相同。

其他所有人都一直在谈论将事物插入路径,是否有某种原因这不会起作用?

这不应该是重要的,但它是一个django项目。

1 个答案:

答案 0 :(得分:0)

既然你提到使用virtualenv,你是否确保apache / mod_wsgi使用virtualenv路径,即激活它使用?尝试将它添加到您的wsgi文件中:

activate_this = join(VIRTUALENV_DIR,'bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))