有没有办法隐藏从特定库创建的对象的
E1101
错误?我们的大型存储库在 pandas 创建的各种对象周围散落着 #pylint: disable=E1101
。
例如,Pylint 将在以下代码中抛出no member错误:
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":]
会出现以下错误:
E: 6,11: Instance of 'tuple' has no 'ix' member (no-member)
E: 6,11: Instance of 'TextFileReader' has no 'ix' member (no-member)
您可以使用
generated-members
选项将其属性标记为动态生成。
例如对于熊猫:
generated-members=pandas.*
这对我试图忽略 numpy 中的错误失败了,直到我尝试
generated-members=np.*
因为,像大多数人一样,我也这么做
import numpy as np
由于 generated-members 需要一个列表,因此可以这样做:
generated-members=numpy.*,np.*
附加信息,来自 carabas 的答案:
您会在
generated-members
的TYPECHECK
部分找到.pylintrc
。[TYPECHECK]
…
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E0201 when accessed.
generated-members=REQUEST,acl_users,aq_parent
请注意,关于抑制 E0201 的评论不完整。
所以你必须将其更新为:
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E0201 or E1101 when accessed.
generated-members=REQUEST,acl_users,aq_parent,pandas.*