test.py
次の不適切な形式のコンテンツを含むファイルを作成した場合:
import re
long_string = "foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo"
class Foo():
pass
flake8
次のようにコマンドラインからファイルを実行します。
$ flake8 --max-line-length=79 test.py
次の 2 つのエラーのみが報告されます。
test.py:1:1: F401 're' imported but unused
test.py:3:1: E302 expected 2 blank lines, found 0
2 行目のmax-line-length
違反は報告されません。
完全に偶然 (コマンド オプションのいずれかが尊重されるかどうかをテストしていた)、次のような無視オプションを追加すると、次のことがわかりました。
$ flake8 --max-line-length=79 --ignore=E302 test.py
次に、行の長さ違反が報告されます。
test.py:1:1: F401 're' imported but unused
test.py:2:80: E501 line too long (97 > 79 characters)
私はUbuntu 16.04を使用しており、flake8
バージョン情報は次のとおりです。
2.5.4 (pep8: 1.7.0, mccabe: 0.2.1, pyflakes: 1.1.0) CPython 3.5.1+ on Linux
関連する質問を Emacs Stack Exchange サイトに投稿したとき(最初は Emacs パッケージに問題があると思っていました)、そこにいるユーザーの 1 人が、 flake8
2.5.4 には下位バージョンの が必要でpyflakes
あると指摘しました 。ただし、その特定のバージョンをflake8
介してapt
、またはpip
自動的にインストールすると、依存関係としてインストールされ、問題が解決するかどうかを確認するpyflakes
ために古いバージョンの を取得できませんでした(おそらく、それはまったく別の質問です)。pyflakes
ここで何か間違ったことをしていますか、それともバグですか?