flake8没有报告过长的行

时间:2016-06-03 12:43:32

标签: python pyflakes flake8

如果我使用以下格式不正确的内容创建文件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

当我在Emacs Stack Exchange网站上发布a related questio n时(我认为问题最初是使用Emacs包),其中一位用户指出flake8 2.5.4 requires a lower version of pyflakes。但是,安装flake8aptpip会自动安装pyflakes的特定版本作为依赖项,而我无法获得pyflakes的旧版本看看是否能解决问题(也许这完全是另一个问题)。

我在这里做错了什么,或者这是一个错误?

1 个答案:

答案 0 :(得分:5)

E501在某个地方被忽略了。它位于~/.config/flake8tox.inisetup.cfg.flake8中的本地目录中。在其中一个文件中的某个位置,您可能会发现类似于:

的内容
[flake8]
ignore = E501

(您也可以在其他错误代码中看到它。)

这是 Flake8中的一个错误,几乎可以肯定是你环境中的一个错误造成的。您看到E501的原因是您通过在命令行上提供--ignore来覆盖配置文件设置。

相关问题