uwsgi с флаком и окружением python3 conda загружает вместо этого python2
Я пытаюсь запустить веб-приложение на фляге python3 с помощью uwsgi.
Если я бегу /usr/bin/uwsgi --ini /var/www/QCQuan/uwsgi_config.ini --logto /tmp/log
затем uwsgi
терпит неудачу, и файл журнала показывает:
Python version: 2.7.15rc1 (default, Apr 15 2018, 21:51:34) [GCC 7.3.0]
Set PythonHome to /home/pdiracdelta/.conda/envs/qcquan
ImportError: No module named site
Несмотря на то, что я действительно адаптировал свой uwsgi_config.ini с
[uwsgi]
...
venv = /home/pdiracdelta/.conda/envs/qcquan
plugins = python
...
использовать плагин Python, который я установил с apt-get install uwsgi-plugin-python
и использовать виртуальную среду conda, которая имеет все нужные пакеты и только python3.
Кажется, что uwsgi все еще пытается использовать мою систему /usr/bin/python, которая указывает на python2. И это также, кажется, загружает это прежде, чем это установит PythonHome.
Как я могу сказать uwsgi использовать python (=python3), предоставляемый средой conda?
1 ответ
Решено установкой uwsgi-plugin-python3
и используя plugins = python3
(вместо python(2)) в моем uwsgi_config.ini
,
Я не до конца понимаю, почему это работает, потому что uwsgi по-прежнему загружает python перед установкой PythonHome:
Python version: 3.6.5 (default, Apr 1 2018, 05:46:30) [GCC 7.3.0]
Set PythonHome to /home/pdiracdelta/.conda/envs/qcquan
Поэтому я все еще подозреваю, что он использует /usr/bin/python3 моей системы, хотя у него есть доступ ко всем пакетам в среде conda.