4.1节中的文档明确指出:
https://pylint.readthedocs.io/en/latest/faq.html#message-control
4.1是否可以在本地禁用特定消息?
是的,此功能已添加到Pylint 0.11中。这可以通过在所需的块级别或所需代码行的末尾添加“#pylint:disable = some-message,another-one”来完成。
大!但它不起作用。嘘声。
我得到以下代码行的以下pylint错误
W: 26, 2: Redefining built-in 'zip' (redefined-builtin)
try:
from itertools import izip as zip # pylint: disable=bad-builtin
except ImportError:
pass
但是pylint只是抱怨我试图关闭它的声音更大:
E: 26, 0: Bad option value 'bad-builtin' (bad-option-value)
我也尝试过错误代码# pylint: disable=W0141
,这也会产生类似的错误。
知道我做错了吗?
答案 0 :(得分:2)
我也遇到过类似情况。
class A:
pass
pylint
中有许多以上代码的警告,但我想谈一谈old-style-class
。
在Python 2.7中,您将得到一个old-style-class
错误。
当然,您可以这样更改代码:
class A(object):
pass
但是,您将在Python 3中收到useless-object-inheritance
警告。
如果您正在编写与python 2.7和3兼容的软件包并使用pylint
,那么您就失望了。
是的,如果接受禁用评论中的old-style-class
或useless-object-inheritance
中的任何一个,则可以继续。
在Python 2.7中:
# pylint: disable=old-style-class
class A:
pass
在Python 3中:
# pylint: disable=useless-object-inheritance
class A(object):
pass
最终,您将得到一个bad-option-value
,与这个问题相同。
我已经尝试过,但是在这种情况下无法在本地禁用bad-option-value
。
我必须在bad-option-value
配置文件(如pylint
)中禁用.pylintrc
。
[TYPECHECK]
disable=bad-option-value
注意:我的pylint
版本在python 2.7中是1.9.4,在python 3中是2.2.2。
答案 1 :(得分:0)
啊,简单的回答,它应该是# pylint: disable=bad-option-value
,它出现在括号中的错误消息中:
E: 26, 0: Bad option value 'bad-builtin' (bad-option-value)
答案 2 :(得分:0)
收到此消息时:
W: 26, 2: Redefining built-in 'zip' (redefined-builtin)
您必须禁用所得到的确切错误消息(括号内的消息):
try:
from itertools import izip as zip # pylint: disable=redefined-builtin
except ImportError:
pass
在pylint 2.5中似乎可以正常工作。
如果您正在使用多个版本的python或不同的venvs和相同的代码库进行测试,并且会遇到不同的错误,可能会很烦人。确保在所有构建/测试中将版本修复为一个版本。听起来好像是在这里发生的(不确定从何处获得bad-builtin
)。