[英]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 是否可以在本地禁用特定消息?
是的,此功能已在 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
,它也會產生類似的錯誤。
知道我做錯了什么嗎?
我也遇到過類似的情況。
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
版本在 python 2.7 中是 1.9.4,在 python 3 中是 2.2.2。
啊,簡單的答案,它應該是# pylint: disable=bad-option-value
出現在括號中的錯誤消息中:
E: 26, 0: Bad option value 'bad-builtin' (bad-option-value)
當您收到此消息時:
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
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.