0

UWSGI で添付デーモンとして rqworker を実行しようとしています。これを行うには、config.ini ファイルに次を追加します。

attach-daemon = /path/to/rqworker

その後、UWSGI は必要なときに rqworker を起動しようとしますが、ログに次のエラーが記録されます。

RuntimeError: Python 3 は環境のエンコーディングとして ASCII を使用するように構成されているため、Click はそれ以降の実行を中止します。軽減策については、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 をロケールとして試すこともできます。

export LC_ALL=C.UTF-8 export 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 に答える