Подтвердить что ты не робот

Отключение Pylint no member-E1101 для конкретных библиотек

Можно ли скрывать ошибки 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)
4b9b3361

Ответ 1

Вы можете пометить свои атрибуты как динамически созданные с помощью параметра generated-members.

например. для pandas:

generated-members=pandas.*

Ответ 2

Это не удалось для меня, пытаясь игнорировать ошибки в NumPy, пока я не попытался

generated-members=np.*

так как, как и большинство других, я делаю

import numpy as np

Так как генерируемые члены принимают список, можно сделать следующее:

generated-members=numpy.*,np.*

Ответ 3

Дополнительная информация, в верхней части ответа от карабаса:

Вы найдете 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.*