如何停止 flake8 和 pylint 抱怨 shebang 行超过最大字符数?

How to stop flake8 and pylint complaining about shebang line over max characters?

我在 vim 中通过 ALE 使用 flake8 和 pylint。

我知道如何在各自的配置文件中为每个 linter 禁用单独的 errors/warnings。

如何在文件开头(如果存在)保留 line-too-long 检查 except

如果第一行不是 shebang 行,它仍然会抱怨行太长。

因此,如果最大行长度为 5(例如),则使用此文件:

#!/run/stuff
x=3
print(x)

他们应该抱怨第三行而不是第一行。

但是对于这个文件:

x = 1 + 1 + 1
# Print the result
print(x)

它应该抱怨所有三行。

通过 pylint --generate-rcfile 创建一个配置文件。在这里查看更多 https://docs.pylint.org/en/1.6.0/run.html

[MESSAGES CONTROL] 部分下,将 line-too-long 添加到 disable= 的列表中。

在每个 python 文件的第二行,您 re-enable line-too-long.

#!/usr/bin/env                python3
# pylint: enable=line-too-long
x=3
print(x) # make this longer than the enable line

我将行限制设置为 30,所以 pylint 抱怨第 4 行。我在 shebang 行中添加了无故的空格,但长度仍然被 pylint 忽略。

感谢 Ian Stapleton Cordasco,我最终提交了一个补丁到 pycodestyle(被 flake8 使用)来忽略 shebang 行的长度。

所以现在要修复我的 ALE 设置,我可以用 latest version from GitHub 替换我的 flake8 副本正在使用的 pycodestyle 脚本,并禁用 pylint 中的 line-too-long 检查,同时在 flake8/pycodestyle。这样,在不以任何方式修改我的脚本的情况下,我仍然会在其他地方对行长度进行检查,而不会收到针对长 shebang 的冗余警告。