Pandas нельзя импортировать для нескольких приложений mod_wsgi на одном сервере - PullRequest
0 голосов
/ 06 апреля 2020

Мне нравится, когда на сервере apache / mod_wsgi работает несколько экземпляров одного и того же приложения wsgi. Приложения настраиваются с помощью двух файлов .conf в файле conf-available / conf.enabled. Первое приложение работает нормально, второе (не пробованное третье до сих пор) завершается ошибкой со следующей ошибкой (из /var/log/apache/error.log):

  • ImportError: Обнаружено изменение интерпретатора - этот модуль может быть загружен только в один интерпретатор для процесса.
  • Во время обработки вышеупомянутого исключения произошло другое исключение:
  • ...
  • ImportError: C расширение : Обнаружено изменение интерпретатора - этот модуль может быть загружен только в одного интерпретатора за процесс. не построен Если вы хотите импортировать pandas из исходного каталога, вам может потребоваться запустить 'python setup.py build_ext --inplace --force', чтобы сначала построить C расширения.

Мои файлы .conf выглядят одинаково, только My_App1 меняется для каждого:

WSGIDaemonProcess My_App1 python-home=/var/wsgi/My_App1/venv
WSGIProcessGroup My_App1
WSGIScriptAlias /MyApp1 /var/wsgi/My_App1/odmf.wsgi
<Directory /var/wsgi/My_App1>
    Require all granted
</Directory>

Я все еще новичок в apache2 / mod_wsgi, но я понимаю директиву WSGIProcessGroup, что я запускаю разные процессы для каждого Приложение. Как узнать, что pandas запускается в нескольких случаях? Я использую venv для виртуальных сред. Поскольку на более позднем этапе приложения могут работать в разных версиях, необходимо использовать какую-то другую среду. Тем не менее, я получаю одинаковые ошибки при попытке использовать одну и ту же среду для обоих приложений.

ОС: Ubuntu 18.04

Apache/2.4.29 (Ubuntu) OpenSSL/1.1.1c mod_wsgi/4.5.17 Python/3.6 configured
...