In den Dokumenten " Fehler ignorieren" wird derzeit eine Möglichkeit zum Ignorieren eines bestimmten Fehlers für eine bestimmte Zeile aufgeführt:
example = lambda: 'example' # noqa: E731
... und eine Möglichkeit, alle Fehler für eine gesamte Datei zu ignorieren :
# flake8: noqa
from foo import unused
function_that_doesnt_exist()
x = 1+ 2
... und verschiedene Möglichkeiten, entweder über die Konfiguration oder über Befehlszeilenoptionen, einen bestimmten Fehler global für ein gesamtes Projekt zu deaktivieren .
Was aber, wenn ich einen bestimmten Fehler in der Gesamtheit einer einzelnen Datei ignorieren möchte - zum Beispiel, um Warnungen vor nicht verwendeten Importen in einer __init__.py
Barrel-Datei zu deaktivieren , die nur eine Reihe von Klassen importiert, damit Code aus anderen Paketen sie daraus importieren kann Wende? Die Dokumente scheinen keine Syntax dafür anzudeuten. Ist es möglich?
__all__
Erklärung abzugeben, in der das importierte Material aufgelistet ist .Antworten:
Ab Flake8 3.7.0 können Sie dies mit der
--per-file-ignores
Option tun .Befehlszeilenbeispiel
flake8 --per-file-ignores='project/__init__.py:F401 setup.py:E121'
Oder in Ihrer Konfigurationsdatei
Die Dokumentation finden Sie hier: http://flake8.pycqa.org/en/latest/user/options.html?highlight=per-file-ignores#cmdoption-flake8-per-file-ignores
Es ist nicht möglich, einen
noqa
Kommentar für bestimmte Codes oben in eine Datei einzufügen, wie dies für einzelne Zeilen möglich ist.# flake8: noqa: F401
Auf den ersten Blick scheint es zu funktionieren, aber es wird tatsächlich nur als erkannt# flake8: noqa
, was bedeutet, " alle Nachrichten in der Datei ignorieren ".quelle
Vor Version 3.7.0 wurde das Ignorieren bestimmter Fehler nur pro Zeile , nicht jedoch pro Datei implementiert .
Die Funktion wird in Ausgabe 89 verfolgt und diskutiert, von der nur der Vorschlag pro Zeile übernommen wurde. In jüngerer Zeit wurde eine Implementierung in vorgeschlagen dieser Zusammenführungsanforderung , der niemand nachgegangen ist.
Es wurden jedoch einige Erweiterungen entwickelt, um das Problem zu beheben:
flake8-per-file-ignores
Mit dieser Option können Sie bestimmte Warnungen / Fehler für bestimmte Dateien über einen Eintrag in der Konfiguration ignorieren.flake8-putty
behauptet, dasselbe zu tun, wurde aber eine Weile nicht aktualisiert.quelle