2013-08-06 51 views
2

這裏很堅持,我沒有一大堆去。我有一個Django應用程序啓動和運行,我開始使用NetworkX和Matplotlib可視化一些的海報數據的作圖玩耍。然後我試圖再次使用該網站,並得到了錯誤:阿帕奇掛着Django應用程序和Matplotlib

「在/ var/WWW」是不是可寫的目錄;您必須將/var/www/.matplotlib設置爲可寫的目錄。你也可以將環境變量MPLCONFIGDIR設置爲你想要存儲matplotlib數據的任何可寫目錄。

我通過chmod'ding目錄解決了這個問題。該網站的主頁然後加載罰款,但當我嘗試加載任何其他頁面,Django呈現Apache只是掛起。我設置了日誌級別調試和tail'ed,但它沒有顯示任何新的請求或錯誤或任何東西,它只是八九不離十掛起,直到瀏覽器放棄。那麼我想這一定只是用的東西,我只是沒等我恢復到工作版本在我的回購和我有同樣的問題的錯誤。 Django的測試服務器仍在運行該網站,這讓我相信這是apache的問題(整個apache是​​我最不熟悉的部分)。

我的httpd.conf樣子:

ServerName >> my server << 
TraceEnable off 
AcceptFilter http none 
AcceptFilter https none 
EnableMMAP off 
EnableSendfile off 

<VirtualHost *:80> 
    ServerAdmin >> my email << 
    ServerName >> my server << 
    DocumentRoot /Web/public/ 
    <Directory /> 
     Options FollowSymLinks 
     AllowOverride None 
    </Directory> 
    <Directory /var/www/> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride None 
     Order allow,deny 
     allow from all 
    </Directory> 
    WSGIScriptAlias//home/$USER/$APP/$APP/wsgi.py 
    <Directory /Web/public/static> 
     Options -Indexes 
    </Directory> 
    Alias /static /Web/public/static 
    Alias /media /Web/public/media 
    ErrorLog /var/log/apache2/error.log 
    LogLevel debug 
    CustomLog /var/log/apache2/access.log combined 
    Alias /doc/ "/usr/share/doc/" 
    <Directory "/usr/share/doc/"> 
     Options Indexes MultiViews FollowSymLinks 
     AllowOverride None 
     Order deny,allow 
     Deny from all 
     Allow from 127.0.0.0/255.0.0.0 ::1/128 
    </Directory> 
</VirtualHost> 

請讓我知道如果你有任何想法,或需要更多的信息。

謝謝!

回答

0

我有同樣的問題; Apache/Django不會工作,但manage.py runserver會正常工作。我試圖使默認目錄可讀,我試圖改變MPLCONFIGDIRexport MPLCONFIGDIR=/stuff/,而只是說工作的事情是把

import os 
os.environ[ 'MPLCONFIGDIR' ] = '/tmp/' 

在導入之前matplotlib。在我的情況下,只有一個頁面使用MPL,因此將「無處不在」放在我的面前是可以接受的。

取自original solution來自steko