Мне нравится, когда на сервере 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