Python で SyntaxError: Non-UTF-8 code

  • 2021年7月11日
  • 2022年4月15日
  • Python
  • 1187view

Python でスクリプトを実行した際に次のエラーに遭遇しました。

SyntaxError: Non-UTF-8 code starting with '\x82' in file test.py on line 234, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

原因と対策

エラーに記載のリンクのとおり、エンコーディングが定義されていないことに起因するようです。対策として、次のようにファイルの 1 行目と 2 行目に設定します。

#!/usr/bin/python
# -*- coding: utf-8 -*-
エンコーディングは適切なものを指定します。日本語を使用している場合は、utf-8 だと次のエラーとなる場合があります。
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0x82 in position 3: invalid start byte

上記エラーがでた場合は、エンコーディングを Shift-JIS に設定してみてください。

#!/usr/bin/python
# -*- coding: Shift-JIS -*-

以上