Ignoring Errors ドキュメントは現在、特定の行の特定のエラーを無視する方法をリストしています:
example = lambda: 'example' # noqa: E731
...そして、ファイル全体のallエラーを無視する方法:
# flake8: noqa
from foo import unused
function_that_doesnt_exist()
x = 1+ 2
...そして、プロジェクト全体で特定のエラーgloballyを無効にするconfigまたはコマンドラインオプションのいずれかを使用したいくつかの方法。
しかし、singleファイル全体でparticularエラーを無視したい場合-たとえば、__init__.py
バレルファイル内の未使用のインポートに関する警告を無効にする場合それはクラスの束をインポートするだけなので、他のパッケージのコードがそれらから順番にインポートできますか?ドキュメントは、この構文を暗示していないようです。出来ますか?
Flake8 3.7.0以降では、--per-file-ignores
オプション。
コマンドラインの例
flake8 --per-file-ignores='project/__init__.py:F401 setup.py:E121'
または、設定ファイルで
per-file-ignores =
project/__init__.py:F401
setup.py:E121
other_project/*:W9
こちらのドキュメントをご覧ください: http://flake8.pycqa.org/en/latest/user/options.html?highlight=per-file-ignores#cmdoption-flake8-per-file-ignores
個々の行のように、ファイルの先頭に特定のコードのnoqa
コメントを配置することはできません。 # flake8: noqa: F401
最初は機能しているように見えますが、実際には# flake8: noqa
は、「ファイル内のメッセージを無視するall」を意味します。
バージョン3.7.0より前では、特定のエラーを無視するのは per-line のみで、ファイルごとではありませんでした。
この機能は issue#89 で追跡および議論されており、ここから行ごとの提案のみが採用されています。最近では、 このマージ要求 で実装が提案されましたが、誰もフォローアップしていません。
ただし、問題に対処するためにいくつかの拡張機能が登場しました。
flake8-per-file-ignores
configのエントリを介して、特定のファイルの特定の警告/エラーを無視できます。
flake8-PuTTY
は同じことをすると主張していますが、しばらく更新されていません。