禁用 Pylint no member-特定库的 E1101 错误

问题描述 投票:0回答:3

有没有办法隐藏从特定库创建的对象的

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)
pandas pylint
3个回答
39
投票

您可以使用

generated-members
选项将其属性标记为动态生成。

例如对于熊猫:

generated-members=pandas.*

11
投票

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

generated-members=np.*

因为,像大多数人一样,我也这么做

import numpy as np

由于 generated-members 需要一个列表,因此可以这样做:

generated-members=numpy.*,np.*

6
投票

附加信息,来自 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.*
© www.soinside.com 2019 - 2024. All rights reserved.