1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

pythonコードをコミットする時にflake8で自動リントチェックする仕組み

Last updated at Posted at 2020-03-10

背景

git commit時にリントチェックし、チェックが通らなかったらcommitできないようにしたい。今回は自動フォーマットはしたくなかったので、リントチェックだけするようにした。ちなみに、リントチェック + 自動フォーマットしたい場合はこの辺り → pre-commit時にformatterを実行する

やり方

pre-commit + flake8をインストール

cd $GIT_PROJECT
pipenv install pre-commit
pipenv install flake8

pre-commit用のconfigファイルを作成 .pre-commit-config.yaml

repos:
  - repo: https://gitlab.com/PyCQA/flake8
    rev: master
    hooks:
    - id: flake8

.flake8用のconfigファイルを作成 .flake8

[flake8]
ignore = E501 # 1行の文字数チェックをignoreにする
; exclude = tests/*
max-complexity = 10

.git/hook/pre-commit のスクリプトを生成

pre-commit install

これでpre-commitの設定完了。ここまでくれば各開発者がそれぞれフォーマットできる仕組みを入れればいい。

例えば、VSCodeの場合は以下の記事が参考になる↓
VSCodeのPython開発環境でpylintの代わりにflake8を導入し自動整形を設定する

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?