PythonでLintをする
URL
flack8/black
tox
テストを自動化する
PEPのスタイルに合っているかチェックする
flake8-docstrings (pydocstyle)
docstringをLintしてくれる
flack8-mypy
mypy自動チェック
flake8-isort
isortに即しているかチェック
flake8-print
不必要なprintのチェック
isort
自動でモジュール読み込みを修正する
自動フォーマット
flake8 ファイル・モジュール --statistics --show-source
で修正すべきコードを表示してくれる
インストール
code: bash
pipenv install tox flake8 flake8-docstrings flake8-mypy flake8-isort flake8-print mypy black isort --pre
コマンド
code:bash
flake8 file/module --statistics --show-source --max-line-length 88 --docstring-convention numpy
isort file/module
black file/module -t py38 -l 88
コマンドオプションはiniファイルなどで設定できる
flake8-printなどのプラグインはインストールされていると自動で呼ばれる
tox
code:tox.ini
# 使用する環境を指定する
envlist =
py38
flake8-py38
black-py38
mypy-py38
# テスト環境
# toxのenvlistで指定がなければこれが実行される deps = pipenv
# テストで実行するコマンド
# このコマンドはpipenv installするだけなので当然Passする
commands =
pipenv install
basepython = python3.8
description = 'check flake8-style is ok?'
commands=
pipenv install
pipenv run flake8 gym_md
# 設定ファイル
max-line-length = 88
basepython = python3.8
description = 'check my-py is ok?'
commands =
pipenv install
pipenv run mypy gym_md
basepython = python3.8
description = 'check black is ok?'
commands =
pipenv install
pipenv run black gym_md --check
PyCharmでの設定
alias効いてればオプションつける必要ないんだけど,alias効いてない場合,引数指定しないと駄目だなぁ
https://gyazo.com/e75728e528dd5ce963c0b98bdfdd8cc7
https://gyazo.com/6b003f1f9354088ae3a31a4d07a50859
https://gyazo.com/e655bcdc99de6b2b8adbd57cc5e89d00