1
这是一个apache/mod_wsgi/virtualenv/django堆栈。在virtualenv site-packages目录中,我有一个virtualenv_path_extensions.pth文件。在Apache的conf有site.addsitedir未完全处理.pth文件
WSGIScriptAlias//path/to/my.wsgi
my.wsgi有
site.addsitedir('/path/to/virtualenv/site-packages')
现在,如果我启动了一个Python外壳,进口的网站,并拨打上面的线,我的sys.path看起来是正确的:它已加载virtualenv_path_extensions.pth中的所有路径
但是,在Apache下我得到500错误,因为它声称Django不在路径上。当我将sys.path记录在my.wsgi中的addsitedir行之后时,它看起来好像添加了virtualenv_path_extensions.pth的第一行,但其余部分没有!
什么可能导致这种情况?
从内存中,即使不使用SELinux也会发生这种情况。基本上,如果其他目录不可读,则site.addsitedir()不会添加它们。因此,即使不使用SELinux,也需要确保目录对Apache用户可读。 – 2010-08-11 23:44:05