0

我正在尝试将 rqworker 作为 UWSGI 中的附加守护进程运行。为此,我添加到 config.ini 文件中:

attach-daemon = /path/to/rqworker

然后 UWSGI 在应该启动 rqworker 时尝试启动,但我在日志中收到以下错误:

RuntimeError: Click 将中止进一步的执行,因为 Python 3 被配置为使用 ASCII 作为环境的编码。切换到 Python 2 或咨询http://click.pocoo.org/python3/以了解缓解步骤。

我可以从 bash 很好地运行 rqworker,但似乎没有为守护进程正确设置编码。

4

1 回答 1

1

从该消息中的链接页面:

您正在处理 Python 3 认为您仅限于 ASCII 数据的环境。这些问题的解决方案因您的计算机运行的语言环境而异。

例如,如果您有一台德国 Linux 机器,您可以通过将语言环境导出到 de_DE.utf-8 来解决问题:

export LC_ALL=de_DE.utf-8 export LANG=de_DE.utf-8 如果您在美国机器上,en_US.utf-8 是首选编码。在一些较新的 Linux 系统上,您还可以尝试 C.UTF-8 作为语言环境:

导出 LC_ALL=C.UTF-8 导出 LANG=C.UTF-8

要在 UWSGI config.ini 文件中设置编码,您可以使用“env”设置环境变量,进而设置语言环境。在美国机器上,这个配置可以工作:

env = LC_ALL=en_US.utf-8
env = LANG=en_US.utf-8
attach-daemon = /path/to/rqworker

在其他机器上,可以使用各种其他编码。

于 2015-09-20T16:56:10.800 回答