[Python]本番環境でSyntaxError: Non-ASCII characterエラーが出た時の対処方法

python

Pythonを本番環境にアップして実行すると以下のようなエラーが発生しました。

SyntaxError: Non-ASCII character '\xe3' in file /home/django/xxx/xxx.py on line 23, but no encoding declared;

具体的にはさくらのVPSでPythonスクリプトを動かしたわけですが、元々日本語対応していないようでこのようなエラーが発生したようです。

このエラーに対する対処方法を紹介します。

CentOS7でロケールを変更する

解決方法はシンプルでした。そのままだと英語対応になっているので、それを使用可能なロケールに変更するだけです。

$sudo localectl set-locale LANG=ja_JP.utf-8
# 一度enterキーを押して実行
$source /etc/locale.conf

これでOKです。

実際に変更されたかどうか確認します。

$ localectl status
System Locale: LANG=ja_JP.utf-8
       VC Keymap: jp106
      X11 Layout: jp

問題なく変更されています。



カテゴリー