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.

Другие вопросы по тегам