带有 flask 和 python3 conda 环境的 uwsgi 正在加载 python2

带有 flask 和 python3 conda 环境的 uwsgi 正在加载 python2

我正在尝试使用 uwsgi 运行 python3 flask web 应用程序。

如果我运行/usr/bin/uwsgi --ini /var/www/QCQuan/uwsgi_config.ini --logto /tmp/loguwsgi失败并且日志文件显示:

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并使用具有所有正确包且仅具有 python3 的 conda 虚拟环境。

看起来 uwsgi 仍在尝试使用我系统的 /usr/bin/python,它指向 python2。而且它似乎还加载了它它设置了 PythonHome。

我如何告诉 uwsgi 使用 conda 环境提供的 python (=python3)?

答案1

通过在我的 中安装uwsgi-plugin-python3和使用plugins = python3(而不是 python(2))解决了uwsgi_config.ini

我不充分理解为什么这样做有效,因为 uwsgi 似乎在设置 PythonHome 之前仍然加载 python:

Python version: 3.6.5 (default, Apr  1 2018, 05:46:30)  [GCC 7.3.0]
Set PythonHome to /home/pdiracdelta/.conda/envs/qcquan

因此,尽管它确实可以访问 conda 环境中的所有包,但我仍然怀疑它正在使用我的系统的 /usr/bin/python3。

相关内容