読者です 読者をやめる 読者になる 読者になる

へっぽこびんぼう野郎のnewbie日記

けろけーろ(´・ω・`)!

flake8(version 2.2.5)が、急にF999エラーを伴ってこけだした話

解決法

flake8の最新版は2.5.4(2016/03/02現在)

結論から言うと、flake8を最新版(2.5.4)にしたらなおる

原因

flake8 v2.2.5では、Dependenciesであるpyflakesのバージョン指定が、>=0.8.1しかなかった


flake8-2.2.5/setup.py From flake8 2.2.5 : Python Package Index

    install_requires=[
        "pyflakes >= 0.8.1",
        "pep8 >= 1.5.7",
        "mccabe >= 0.2.1",
    ],

2016/03/01(昨日)、pyflakesのバージョンが1.1.0に上がる
どうやらPEP8にある、スターインポート禁止(from hoge import *)を今更準拠しだしたようだ

それで、flake8は「pyflakesで生じた謎のエラーだよん」としてF999をラベリングして、それを返していたようだ

flake8の最新版(2.5.4)では、
f:id:haruharu1:20160302122456p:plain
このように、1.1未満は使わないよと書いてあるので、これをインストールすればなおるというわけだ

flake8が、pyflakesの古い機能を間借りして、先回りしたという印象を受ける

ちなみに2.2.5のほうは2014-10-19にリリースされているようだが
f:id:haruharu1:20160302122642p:plain
のように依存関係のバージョンについては何も書かれておらず
これだけ多く使われてるツールでも、そんなに厳格ではなくわりと適当ということがわかった

まとめ

「ソースが変わってないのに結果が変化したら、環境を疑うのだ」という基本的なことをflake8はぼくに教えてくれました