2015-04-20 42 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)。