web-dev-qa-db-fra.com

flake8: ignore uniquement la règle F401 dans le fichier entier

Y a-t-il un moyen d'obtenir flake8 pour ignorer uniquement une règle spécifique pour un fichier entier? Plus précisément, j'aimerais ignorer uniquement F401 pour un fichier entier.

J'ai un fichier comme __init__.py où j'importe des symboles qui ne sont jamais utilisés dans ce fichier. Je préfère ne pas ajouter # noqa à chaque ligne. Je peux ajouter # flake8: noqa au début du fichier, mais cela ignore les règles all. Je voudrais ignorer juste le F401 règle.

5
AJ Friend

il n'existe actuellement aucun moyen de faire ce que vous demandez avec uniquement la source à l'intérieur du fichier lui-même

la méthode actuellement suggérée est d'utiliser le per-file-ignores fonctionnalité dans votre flake8 configuration:

[flake8]
per-file-ignores =
    */__init__.py: F401

Notez que F401 en particulier peut être résol d'une meilleure manière, tous les noms qui sont exposés dans __all__ sera ignoré par pyflakes:

from foo import bar  # would potentially trigger F401
__all__ = ('bar',)  # not any more!

(avertissement: je suis le mainteneur actuel de flake8 et l'un des responsables de pyflakes)

4
Anthony Sottile

D'après la Documentation c'est aussi simple que de changer # noqa par:

# noqa: F401
0
Juan C