非常困在这里,我没有太多可以继续下去。我有一个django应用程序启动并运行,我开始玩图形使用NetworkX和Matplotlib来显示海报的一些数据。然后我再次尝试使用该网站并收到错误:
'/ var / www'不是可写的目录;你必须将/var/www/.matplotlib设置为可写的目录。您还可以将环境变量MPLCONFIGDIR设置为您希望存储matplotlib数据的任何可写目录
我通过chmod'ding目录解决了这个问题。该网站的主页然后加载正常,但当我尝试加载任何其他页面,Django渲染apache只是挂起。我将日志级别设置为debug并尾随它但它没有显示任何新的请求或错误或任何东西,它只是挂起直到浏览器放弃。然后我认为它只是一个错误,我刚刚做了一些事情,所以我回到了我的回购中的工作版本,我遇到了同样的问题。 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 :(得分:0)
我有同样的问题; Apache / Django不起作用,但manage.py runserver
可以正常工作。我尝试将默认目录设为可读,并尝试使用MPLCONFIGDIR
更改export MPLCONFIGDIR=/stuff/
,但唯一有效的方法是放置
import os
os.environ[ 'MPLCONFIGDIR' ] = '/tmp/'
导入matplotlib之前。在我的情况下,只有一个页面使用MPL,因此我可以接受这个“无处不在”。