2013-08-06 2 views
2

Очень застрял здесь, и у меня не так много, чтобы продолжать. У меня было приложение django, и я начал играть с графикой, используя NetworkX и Matplotlib, чтобы визуализировать некоторые данные для плаката. Затем я попытался снова использовать сайт и получил ошибку:Apache висит с приложением Django и Matplotlib

'/ var/www' не доступен для записи; вы должны установить /var/www/.matplotlib как записываемый каталог. Вы также можете установить переменную среды MPLCONFIGDIR в любой доступный для записи каталог, в котором вы хотите сохранить данные matplotlib.

Который я разрешил путем chmod'ding в каталоге. Тогда страница сайта загружается нормально, но когда я пытаюсь загрузить любую другую страницу, которую django делает apache просто зависанием. Я установил уровень журнала для отладки и хвоста, но он не показывает никаких новых запросов или ошибок или чего-то еще, он просто сортирует зависает, пока браузер не уйдет. Затем я подумал, что это просто ошибка с чем-то, что я только что сделал, поэтому я вернулся к рабочей версии моего репо и имею ту же проблему. На тестовом сервере 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 будет работать нормально. Я попытался сделать каталог по умолчанию для чтения, и я попытался изменить MPLCONFIGDIR с export MPLCONFIGDIR=/stuff/, но единственное, что работал размещал

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

перед импортом Matplotlib. Только одна страница использует MPL в моем случае, поэтому размещение этого «везде» было приемлемым для меня.

взято с original solution по steko.

Смежные вопросы