我正在尝试设置Pylint仅执行特定的检查项而不是其他的,比如只检查W0601和W0612。我已经尝试在我的pylint.rc文件的[MESSAGES CONTROL]部分中使用“enable=”行,但似乎并没有达到我想要的效果。我正在使用Pylint 0.25.1版本。
看起来是rc文件解析的一个错误。
命令行上顺序很重要(未记录在文档中?),因此您需要先禁用再启用:
pylint xyz.py --disable R,C,W,E --enable W0601,W0612
但是通过--generate-rcfile
生成的配置文件不能正确反映,而使用--rcfile
参数也无法正常工作……这可能是个bug,例如#36584。
在配置文件中添加disable选项会禁用所有消息,即使在命令行上先使用disable再使用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
就能正常工作了。
pylint --disable-all --enable=W0601,W0612
--disable-all
,Pylint 会给我“没有这样的选项”的错误。不过,pylint --disable=I,C,R,W,E,F --enable=W0601,W0612
是可以工作的。 - Peter Graham--disable=all
代替--disable-all
。 - kissgyorgy