禁用 Pylint no member- 特定库的 E1101 错误
Disabling Pylint no member- E1101 error for specific libraries
是否可以隐藏从特定库创建的对象的 E1101
错误?我们的大型存储库中到处都是 #pylint: disable=E1101
由 pandas 创建的各种对象。
例如,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":]
会出现以下错误:
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
选项将它们的属性标记为动态生成。
例如pandas:
generated-members=pandas.*
我尝试忽略 numpy 中的错误时失败了,直到我尝试
generated-members=np.*
因为,像大多数人一样,我
import numpy as np
由于 generated-members 需要一个列表,所以可以这样做:
generated-members=numpy.*,np.*
补充信息,在 carabas 的回答之上:
您将在 .pylintrc
的 TYPECHECK
部分找到 generated-members
。
这是默认值:
[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.*
是否可以隐藏从特定库创建的对象的 E1101
错误?我们的大型存储库中到处都是 #pylint: disable=E1101
由 pandas 创建的各种对象。
例如,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":]
会出现以下错误:
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
选项将它们的属性标记为动态生成。
例如pandas:
generated-members=pandas.*
我尝试忽略 numpy 中的错误时失败了,直到我尝试
generated-members=np.*
因为,像大多数人一样,我
import numpy as np
由于 generated-members 需要一个列表,所以可以这样做:
generated-members=numpy.*,np.*
补充信息,在 carabas 的回答之上:
您将在 .pylintrc
的 TYPECHECK
部分找到 generated-members
。
这是默认值:
[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.*