【发布时间】:2019-12-04 00:36:08
【问题描述】:
有没有办法让flake8 只忽略整个文件的特定规则?具体来说,我想忽略整个文件的 F401。
我有一个像__init__.py 这样的文件,我在其中导入了从未在该文件中使用过的符号。我宁愿不将# noqa 添加到每一行。我可以将 # flake8: noqa 添加到文件的开头,但这会忽略 all 规则。我想只是忽略F401 规则。
【问题讨论】:
有没有办法让flake8 只忽略整个文件的特定规则?具体来说,我想忽略整个文件的 F401。
我有一个像__init__.py 这样的文件,我在其中导入了从未在该文件中使用过的符号。我宁愿不将# noqa 添加到每一行。我可以将 # flake8: noqa 添加到文件的开头,但这会忽略 all 规则。我想只是忽略F401 规则。
【问题讨论】:
目前没有办法只使用文件本身内的源来完成您的要求
当前建议的方法是在您的flake8 配置中使用per-file-ignores 功能:
[flake8]
per-file-ignores =
*/__init__.py: F401
请注意,F401 可以以更好的方式解决,__all__ 中公开的任何名称都将被pyflakes 忽略:
from foo import bar # would potentially trigger F401
__all__ = ('bar',) # not any more!
(免责声明:我是flake8 的当前维护者和pyflakes 的维护者之一)
【讨论】:
F401,那么可能是其他错误。)
setup.cfg, tox.ini, or .flake8(通过谷歌搜索“flake8 配置文件”找到)
根据Documentation,就像更改# noqa 一样简单:
# noqa: F401
【讨论】:
# flake8: noqa: F401 仍然会忽略所有 规则。
flake8 --ignore=F401 your_script.py