らくがきちょう

なんとなく

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

使い方

特定のソースコードだけ、チェックしたい場合は以下のようにファイルのパスを指定します。

flake8 path/to/code/to/check.py

ディレクトリ全体のチェックを行いたい場合は以下のようにディレクトリのパスを指定します。

flake8 path/to/code/

特定の警告やエラーを無視したい場合は以下のように --ignore オプションを指定します。

flake8 --ignore E24,W504 path/to/code/

エラーコード

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