Arch Linux 上的 uWSGI 和 Python,编码失败

Arch Linux 上的 uWSGI 和 Python,编码失败

我正在运行 Arch Linux 机器并且设置了 Python 3.4 虚拟环境。

我有一个由 Emperor 管理的 uwsgi vassal,它指定了以下 ini:(为简洁起见,部分内容被删减)

[uwsgi]
virtualenv = /opt/lib/virtualenvs/bartek
socket = /tmp/bartek.sock
module = app
callable = app
plugins = python

当我运行此程序并查看 uwsgi 日志文件时,我始终得到以下信息:

uwsgi socket 0 bound to UNIX address /tmp/bartek.sock fd 3
Python version: 3.4.1 (default, May 19 2014, 17:23:49)  [GCC 4.9.0 20140507 (prerelease)]
Set PythonHome to /opt/lib/virtualenvs/bartek
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'

这似乎与虚拟环境有关?当我virtualenv从 uwsgi 配置中删除时,它会因缺少包而失败,而不是抱怨此编码。不过,我更愿意继续使用虚拟环境!

有任何想法吗?

答案1

我遇到了同样的问题,我猜这是由 virtualenv 参数引起的,当我将 virtualenv 更改为 / 时,一切都正常。

相关内容