如果我创建一个文件 test.py,其中包含以下格式不正确的内容:
import re
long_string = "foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo"
class Foo():
pass
然后从命令行在文件上运行 flake8,如下所示:
$ flake8 --max-line-length=79 test.py
只报了两个错误:
test.py:1:1: F401 're' imported but unused
test.py:3:1: E302 expected 2 blank lines, found 0
未报告第二行的 max-line-length 违规。
完全是偶然的(我正在测试命令选项的任何是否会被尊重),我发现如果我像这样添加一个忽略选项:
$ flake8 --max-line-length=79 --ignore=E302 test.py
然后报告行长度违规:
test.py:1:1: F401 're' imported but unused
test.py:2:80: E501 line too long (97 > 79 characters)
我在 Ubuntu 16.04 上,我的 flake8 版本信息是:
2.5.4 (pep8: 1.7.0, mccabe: 0.2.1, pyflakes: 1.1.0) CPython 3.5.1+ on Linux
当我发布 a related questio 时在 Emacs Stack Exchange 网站上(我最初认为问题出在 Emacs 包上),其中一位用户指出 flake8 2.5.4 requires a lower version of pyflakes .但是,通过 apt 或 pip 安装 flake8 会自动安装该特定版本的 pyflakes 作为依赖项,我有无法获得旧版本的 pyflakes 以查看是否可以解决问题(也许这完全是另一个问题)。
我是不是做错了什么,或者这是一个错误?
请您参考如下方法:
E501 在某处被忽略。它位于 ~/.config/flake8 或 tox.ini、setup.cfg 或 .flake8 的本地目录中。在其中一个文件中的某处,您可能会发现类似于以下内容的内容:
[flake8]
ignore = E501
(您也可能在其他错误代码中看到它。)
这不是 Flake8 中的错误,并且几乎可以肯定是您的环境中的某些东西导致了此问题。您看到 E501 的原因是您通过在命令行上提供 --ignore 覆盖了配置文件设置。
