#python #django #apache #pandas #mod-wsgi
#python #django #apache #pandas #мод-wsgi
Вопрос:
У меня есть проект Django, работающий на сервере Apache.
Я установил pandas и хочу использовать его, чтобы начать манипулировать данными — однако происходит что-то странное.
Каждый раз, когда я использую import pandas
в производственной среде, сервер зависает и (через некоторое время) выдает ошибку тайм-аута 408.
Я могу прокомментировать pandas
часть, и сервер отвечает нормально без проблем. Я не могу воссоздать его в среде разработки или интерфейсе командной строки с помощью django.
Вот httpd-app.conf
файл:
Alias /tooltrack/static "C:/Users/myfolder/Bitnami Django Stack Projects/tooltrack/static/"
<Directory "C:/Users/myfolder/Bitnami Django Stack Projects/tooltrack/static/">
Options MultiViews
AllowOverride All
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>
</Directory>
WSGIScriptAlias / 'C:/Users/myfolder/Bitnami Django Stack projects/tooltrack/tooltrack/wsgi.py'
<Directory "C:/Users/myfolder/Bitnami Django Stack projects/tooltrack/tooltrack">
Options MultiViews
AllowOverride All
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>
</Directory>
<Directory "C:/Users/myfolder/Bitnami Django Stack projects/tooltrack">
Options MultiViews
AllowOverride All
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>
</Directory>
Я знаю, что из-за этого зависает импорт pandas:
def panda_dataframe_r():
print 'importing pandas ' str(timezone.now())
import pandas
print 'import done ' str(timezone.now())
Я вижу importing pandas
в журнале, однако нет следующего import done
Любая помощь приветствуется!!
Ответ №1:
Попробуйте добавить:
WSGIApplicationGroup %{GLOBAL}
Различные научные пакеты, которые ему понадобятся, не будут работать в интерпретаторах Python. Эта директива принудительно использует контекст основного интерпретатора.
Комментарии:
1. Грэм — большое вам спасибо за помощь. Чтобы было ясно, вы говорите, добавьте его в
httpd-app.conf
?2. Большое спасибо — полностью решена проблема! Это второй раз, когда вы меня спасли!
3. Я использую Flask, и подходящий файл для редактирования — это
/etc/apache2/sites-available/FlaskApp.conf
. Но это помогло мне.