Python のソースコードを flake8 でスタイルチェックする
Python のソースコードを PEP8 に従ってスタイルチェックするには Flake8 が便利です。 自分だけが使うスクリプトならまだしも、OSS に pull request する場合等は最低限、スタイルチェックも行っておいた方が良いと思います。 今回は Flake8 のインストール方法と簡単な使い方をメモしておきます。
インストール¶
flake8 は pip で手軽にインストールすることが出来ます。 pip が未インストールであればインストールし、続けて pip install で flake8 をインストールします
yum -y install gcc python-devel
curl -L https://bootstrap.pypa.io/get-pip.py | python
pip install flake8
現時点ではバージョン 3.5.0 がインストールされました。
# pip show flake8
Name: flake8
Version: 3.5.0
Summary: the modular source code checker: pep8, pyflakes and co
Home-page: https://gitlab.com/pycqa/flake8
Author: Ian Stapleton Cordasco
Author-email: graffatcolmingov@gmail.com
License: MIT
Location: /usr/lib/python2.7/site-packages
Requires: pyflakes, enum34, configparser, pycodestyle, mccabe
使い方¶
特定のソースコードだけ、チェックしたい場合は以下のようにファイルのパスを指定します。
ディレクトリ全体のチェックを行いたい場合は以下のようにディレクトリのパスを指定します。
特定の警告やエラーを無視したい場合は以下のように --ignore オプションを指定します。
エラーコード¶
flake8 で検出するエラーコードの意味は Error codes に書かれています。 「W で始まるものは警告を」、「E で始まるものはエラーを」意味します。 各々、大分類は以下の通りです。
| エラーコード | 警告 (W) | エラー (E) |
|---|---|---|
| 1xx | Indentation warning | Indentation |
| 2xx | Whitespace warning | Whitespace |
| 3xx | Blank line warning | Blank line |
| 4xx | Import | |
| 5xx | Line break warning | Line length |
| 6xx | Deprecation warning | |
| 7xx | Statement | |
| 8xx | ||
| 9xx | Runtime |