2015-04-20 23 views
4

我得到這個假陽性警告,當我在我的代碼運行pylint.pylintrc - 禁用錯誤不起作用

E: 56, 7: Instance of 'bool' has no 'status_code' member (but some 
types could not be inferred) (maybe-no-member) 

pylint-site,我看到上面的錯誤代碼是E1103。我加入.pylintrc下面的代碼下MESSAGES CONTROL截面,

disable=E1103, E1101 

它並沒有禁止這些警告。

出人意料的是,通過禁用標誌明確的工作,

pylint -E --disable=maybe-no-member filename.py 

我怎樣才能使這些.pylintrc禁止標誌的一部分,讓我不需要每次通過他們?

+0

瘋狂的猜測,你有沒有嘗試使用逗號後沒有空格的逗號?我不確定這是一個問題,但我從來沒有在pylint.rc文件中的逗號後看到空格。也許空間是'disable'沒有正確解析的原因,因此被忽略?在您確認/反駁後,我可以添加完整答案。 –

+0

刪除空格,不起作用 –

+0

您確定您的.pylintrc文件用於分析嗎?嘗試顯式指定:'pylint [args] --rcfile = path/to/.pylintrc' –

回答

1

您應該使用命令行選項或配置文件。如果你同時使用它,它將不起作用。

所以你的情況使用任何這些:

pylint -E --disable=E1103 filename.py 

(或)

指定配置文件中的以下內容: 禁用= E1103,W,C,F

disable=E1103, C, W, F 
+1

我停止通過cmdline傳遞禁用選項並在.pylintrc中設置了'disable'代碼。儘管如此,它沒有奏效。 –

1

這裏有幾件事...

首先,你應該停止使用o ld短消息標識符(E1103),而是使用新的明確的(可能不是成員)。您可以直接在命令行或配置文件中使用兩者。消息中提供了長標識符。

其次,將配置的某些部分指定到pylintrc文件並使用命令行來完成它(甚至覆蓋它)是沒有問題的。

如果使用pylintrc文件與命令行無法達到相同效果,請確保您的pylintrc文件已正確加載(在啓動pylint後,您不應該看到「找不到配置文件,使用默認配置」) 。您可以按照建議嘗試使用--rcfile選項來指定它。

最後但並非最不重要的一點,您可能想要嘗試使用--help-msg選項來獲取有關消息的額外信息(例如說明和長/短ID)。