pylint 禁用单行代码只会产生另一个 pylint 错误
pylint disabling a single line of code just produces another pylint error
4.1节的文档明确指出:
https://pylint.readthedocs.io/en/latest/faq.html#message-control
4.1 Is it possible to locally disable a particular message?
是的,此功能已添加到 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
,它也产生了类似的错误。
知道我做错了什么吗?
啊,简单的回答,应该是 # pylint: disable=bad-option-value
括号中的错误信息中给出的:
E: 26, 0: Bad option value 'bad-builtin' (bad-option-value)
我也遇到过类似的情况。
无法解决的 pylint 问题
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
在这种情况下无法在本地禁用。
我必须在 pylint
配置文件中禁用 bad-option-value
,例如 .pylintrc
.
[TYPECHECK]
disable=bad-option-value
注意:我的pylint
版本是1.9.4 in python 2.7, 2.2.2 in python 3.
当您收到此消息时:
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 和相同的代码库进行测试并且您得到不同的错误,这可能会很烦人。确保将所有 builds/tests 的版本固定为一个版本。听起来这可能发生在这里(不确定你从哪里得到 bad-builtin
)。
4.1节的文档明确指出:
https://pylint.readthedocs.io/en/latest/faq.html#message-control
4.1 Is it possible to locally disable a particular message?
是的,此功能已添加到 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
,它也产生了类似的错误。
知道我做错了什么吗?
啊,简单的回答,应该是 # pylint: disable=bad-option-value
括号中的错误信息中给出的:
E: 26, 0: Bad option value 'bad-builtin' (bad-option-value)
我也遇到过类似的情况。
无法解决的 pylint 问题
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
在这种情况下无法在本地禁用。
我必须在 pylint
配置文件中禁用 bad-option-value
,例如 .pylintrc
.
[TYPECHECK]
disable=bad-option-value
注意:我的pylint
版本是1.9.4 in python 2.7, 2.2.2 in python 3.
当您收到此消息时:
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 和相同的代码库进行测试并且您得到不同的错误,这可能会很烦人。确保将所有 builds/tests 的版本固定为一个版本。听起来这可能发生在这里(不确定你从哪里得到 bad-builtin
)。