我正在尝试将 Pylint 设置为仅进行某些检查而不进行其他检查,例如仅检查 W0601 和 W0612。我尝试在我的 pylint.rc 部分使用enable=
一行,[MESSAGES CONTROL]
但这似乎并没有达到我想要的效果。
我正在使用 Pylint 0.25.1。
看起来像 rc 文件解析方式的错误。
命令行上的订单事项(未记录?)因此您需要先禁用然后启用:
pylint xyz.py --disable R,C,W,E --enable W0601,W0612
但这不能正确反映--generate-rcfile
并且不能用于--rcfile
...这些可能是错误。就像#36584一样。
在带有 disable 行的 rc 文件中,所有消息都被禁用,即使在命令行上启用 disable before enable 也是如此。
[MESSAGES CONTROL]
disable=R,C,W,E
enable=W0601,W0612
在 Pylint >= 0.27 中有一个新--disable=all
选项
pylint --disable=all --enable=W0201
或者
pylint -d all -e W0201
您可以将它放在 rc 文件中,但正如aneroid指出的那样,仍然存在一个错误,这意味着您无法启用任何消息,除了从命令行,所以:
[MESSAGES CONTROL]
disable=all
然后
pylint -e W0201
会工作。
@aneroid:您可能是对的,在生成/读取配置文件时可能存在顺序问题;并且还应记录命令行上的顺序很重要的事实。我已经计划并相应地评论了您所指的票。
@peter-graham,所以您可能必须使用命令行来实现这一点,直到修复 #36584 票证。我会推荐:
pylint --disable-all --enable=W0601,W0612