インストール
$ pip install flake8
インストール方法
バージョン確認
flake8 --version
3.8.4 (mccabe: 0.6.1, pycodestyle: 2.6.0, pyflakes: 2.2.0) CPython 3.8.2 on Windows
実行例
$ flake8 flake8_sample.py
flake8_sample.py:1:1: F401 'sys' imported but unused
flake8_sample.py:3:15: W292 no newline at end of file
エラーコード
コード | メッセージの例 |
---|---|
F401 |
module インポートされたが未使用 |
Fに関するエラーコード
W2 | 空白の警告 |
---|---|
W291 | 末尾の空白 |
W292 | ファイルの終わりに改行がありません |
W293 | 空白行に空白が含まれています |
E, Wに関するエラーコード
エラーコード
コード | 内容 |
---|---|
E | pycodestyleによるエラー |
F | pyflakesによるエラー |
W | pycodestyleによる警告 |
詳細はこちら
オプション例
--filename
対象にするファイルを指定
flake8 --filename *.py
.\flake8_sample.py:1:1: F401 'sys' imported but unused
.\test_sample.py:4:1: E302 expected 2 blank lines, found 1
--count
エラーの数を表示する
flake8 flake8_sample.py --count
flake8_sample.py:1:1: F401 'sys' imported but unused
flake8_sample.py:3:15: W292 no newline at end of file
2
--show-source
該当ソースを表示する
flake8 flake8_sample.py --show-source
flake8_sample.py:1:1: F401 'sys' imported but unused
import sys
^
flake8_sample.py:3:15: W292 no newline at end of file
print('hello')
--select
指定したエラーコードのみ表示する
flake8 flake8_sample.py --select=W292
flake8_sample.py:3:15: W292 no newline at end of file
エラーコードの種類だけを選択することも可能
flake8 flake8_sample.py --select=F
flake8_sample.py:1:1: F401 'sys' imported but unused
F4で始まるエラーコードのみ選択することも可能
flake8 flake8_sample.py --select=F4
flake8_sample.py:1:1: F401 'sys' imported but unused
--statics
エラーごとにカウント数、エラーコードを表示
flake8 flake8_sample.py --statistics
flake8_sample.py:1:1: F401 'sys' imported but unused
flake8_sample.py:2:1: F401 'os' imported but unused
flake8_sample.py:4:15: W292 no newline at end of file
2 F401 'sys' imported but unused
1 W292 no newline at end of file
--max-line-length=n(デフォルトは79)
文字数超過を表示
flake8 flake8_sample.py --max-line-length=90
flake8_sample.py:1:91: E501 line too long (99 > 90 characters)
--tee
標準出力とファイルに出力
--output-file
結果をファイルに出力
flake8 flake8_sample.py --tee --output-file outpu.txt
flake8_sample.py:1:1: F401 'sys' imported but unused
--help
flake8 --help
--exit-zero
エラーがあってもステータスコード "0 "で終了
私の人生のように。
参考記事