这是一个apache / mod_wsgi / virtualenv / django堆栈。在virtualenv site-packages目录中,我有一个virtualenv_path_extensions.pth文件。 apache conf有一个
WSGIScriptAlias / /path/to/my.wsgi
my.wsgi有
site.addsitedir('/path/to/virtualenv/site-packages')
现在,如果我启动python shell,导入站点并调用上面的行,我的sys.path看起来是正确的:它已经加载了virtualenv_path_extensions.pth中的所有路径
然而,在apache下我得到500个错误,因为它声称django不在路径上。当我在my.wsgi中的addsitedir行之后记录sys.path时,它看起来好像已经添加了第一行virtualenv_path_extensions.pth,而不是其余的!
可能导致什么?
答案 0 :(得分:1)
啊,selinux:D
没有加载的路径有错误的上下文,而apache无法触及它们......
**必须记得在出现神秘事件时检查那些selinux日志**