Импорт Pandas на сервер apache вызывает ошибку тайм-аута

#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 . Но это помогло мне.