牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

git commit時にPythonのFlake8でコードチェックするメモ

  • 追記:2017-01-09
  • 更新:2020-05-13

バージョン変わってやり方も変わってたので一応メモ

$ workon hoge
$ pip install flake8
$ flake8 --version
3.7.8 (mccabe: 0.6.1, pycodestyle: 2.5.0, pyflakes: 2.1.1) CPython 3.7.4 on Darwin
# 以下コマンドで `.git/hooks/pre-commit ` ファイルが作成される
$ flake8 --install-hook git
$ git config --bool flake8.strict true

作成された .git/hooks/pre-commit の内容(1行目は環境によって変わる)

#!/Users/cortyuming/.virtualenvs/hoge/bin/python3.7
import sys

from flake8.main import git

if __name__ == '__main__':
    sys.exit(
        git.hook(
            strict=git.config_for('strict'),
            lazy=git.config_for('lazy'),
        )
    )

これで git commit 時に flake8 のチェックが通らないとコミットできなくなる。

追記 2017-01-09

プロジェクト内の html を修正してコミットしたらなぜか html を flake8 がチェックしてエラー出ちゃってた。

ソースコードみてみる 。.py 以外の git add したファイル全部みちゃってるのかなこれ?
とりあえず ルートに .flake8 ファイルを置いて除外して回避してみる。

[flake8]
max-line-length = 120
exclude = .flake8,*.html,

参考