簡體   English   中英

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 是否可以在本地禁用特定消息?

是的,此功能已在 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問題

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-classuseless-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配置文件中禁用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM