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