2012-08-30 31 views
0

因此,在mod_wsgi和apache下的路径情况下,有一次让我感到沮丧之后,我用蛮力锤对它进行了攻击。有没有什么理由不强制在Apache上运行mod_wsgi时使用sys.path?

现在我想知道是否还有其他可能的缺陷。

我激活,然后我的virtualenv跑

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

然后我粘贴到这一点我WSGI文件像这样:

import sys 
sys.path = [ 

    Block of stuff printed out 

] 

这样的sys.path是Apache一样,因为它是我运行调试服务器。

其他一直都在讨论将事物插入到路径中,是否有某些原因不能正常工作?

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

+0

批发替换sys.path是非常糟糕的做法。只要你设置了mod_wsgi,并在你的脚本中正确地做了一些事情,应该没问题。在你的问题中正确解释为什么你必须这样做,以便我们可以解决原始问题而不是解决问题。 –

回答

0

既然你提到要使用virtualenv,你是否确定apache/mod_wsgi使用virtualenv路径,即激活这个使用?尝试像这样添加到你的wsgi文件:

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

我其实没有想到。我正在运行一个相当大的pinax应用程序,并通过'pip install -e'加载了其他几个应用程序。这可能是一个好主意。 – boatcoder

相关问题