Closed2

.gitignoreのコメントに日本語を使ったらblackのフォーマットが機能しなくなった

Kotaro YamashitaKotaro Yamashita

Pythonソースコードの自動フォーマットのためにblack(エディタはvscode)を利用していたが、あるプロジェクトディレクトリ以下のソースのフォーマットが効かなくなってしまった。

PowerShellからも、

PS dir> black soruce_code_path.py
Traceback (most recent call last):
    return _run_code(code, main_globals, None,
(中略)
File "dir\.venv\lib\site-packages\black\__init__.py", line 5823, in get_gitignore
    lines = gf.readlines()
UnicodeDecodeError: 'cp932' codec can't decode byte 0x88 in position 3077: illegal multibyte sequence

となる。

Kotaro YamashitaKotaro Yamashita

エラー出力の内容から、どうも .gitignore が悪さをしているように思えたので記憶をたどると、最近プロジェクトのルートの .gitignore に日本語のコメントを追記したのを思い出した。

この部分を .gitignore から削除し保存すると、

PS dir> black soruce_code_path.py
All done! ✨ 🍰 ✨

フォーマットしてくれた。
vscodeでも自動フォーマットが有効に働くことを確認!

このスクラップは2021/03/01にクローズされました