禁用Pylint没有成员 - 特定库的E1101错误

Mic*_* WS 28 pylint pandas

无论如何都要隐藏E1101从特定库创建的对象的错误?我们的大型存储库充斥着#pylint: disable=E1101大熊猫创建的各种对象.

例如,pylint将在以下代码上抛出无成员错误:

import pandas.io.data
import pandas as pd
spy = pandas.io.data.DataReader("SPY", "yahoo")
spy.to_csv("test.csv")
spy = pd.read_csv("test.csv")
close_px = spy.ix["2012":]
Run Code Online (Sandbox Code Playgroud)

会有以下错误:

E:  6,11: Instance of 'tuple' has no 'ix' member (no-member)
E:  6,11: Instance of 'TextFileReader' has no 'ix' member (no-member)
Run Code Online (Sandbox Code Playgroud)

小智 25

您可以使用generated-members选项将其属性标记为动态生成.

例如,对于熊猫:

generated-members=pandas.*
Run Code Online (Sandbox Code Playgroud)

  • 您将这条线放在哪里? (2认同)
  • 这为我禁用了所有linting消息....直到我创建了一个有效的.pylintrc文件并将`pandas.*`添加到`generated-members`.在终端输入`$ pylint --generate-rcfile> .pylintrc`(在项目文件夹中),然后打开该文件,并在`generated-members =`行中添加`pandas.*`. (2认同)

Xav*_*tte 6

除了 carabas 的答案之外,还有更多信息:

\n

您将generated-membersTYPECHECK部分找到.pylintrc

\n

这是默认的:

\n
[TYPECHECK]\n\xe2\x80\xa6\n# List of members which are set dynamically and missed by pylint inference\n# system, and so shouldn\'t trigger E0201 when accessed.\ngenerated-members=REQUEST,acl_users,aq_parent\n
Run Code Online (Sandbox Code Playgroud)\n

请注意,有关抑制 E0201 的注释不完整。

\n

所以你必须将其更新为:

\n
# List of members which are set dynamically and missed by pylint inference\n# system, and so shouldn\'t trigger E0201 or E1101 when accessed.\ngenerated-members=REQUEST,acl_users,aq_parent,pandas.*\n
Run Code Online (Sandbox Code Playgroud)\n


小智 5

这对于我尝试忽略numpy中的错误失败,直到我尝试

generated-members=np.*
Run Code Online (Sandbox Code Playgroud)

因为像大多数人一样

import numpy as np
Run Code Online (Sandbox Code Playgroud)

由于生成成员采用列表,因此可以执行以下操作:

generated-members=numpy.*,np.*
Run Code Online (Sandbox Code Playgroud)