Сделайте так, чтобы pylint терпел запросы

Когда я тестирую модуль, который использует запросы, pylint подходит и утверждает что различные члены объекта Request, которые я использую, не существует. Как я могу это исправить? Я уже запускаю pylint с параметром --generated-members = objects.

Например, этот код работает нормально:

import requests

response = requests.get('https://github.com/timeline.json')

print response.content

Но pylint утверждает, что поля не существует:

ID: E1103 Экземпляр 'Request' не имеет элемента 'content' (но некоторые типы не могут быть выведены)


person Sean W.    schedule 16.09.2012    source источник
comment
Вы можете локально отключить предупреждения pylint, используя комментарий типа #pylint: disable=warning-code. Здесь вы можете найти список кодов.   -  person Bakuriu    schedule 16.09.2012
comment
Не могли бы вы показать код и точные сообщения об ошибках?   -  person Vicent    schedule 16.09.2012
comment
@Bakuriu Спасибо за обходной путь! Это относится ко всему файлу или сразу под комментарием?   -  person Sean W.    schedule 16.09.2012


Ответы (1)


pylint можно настроить предупреждения и сообщения об ошибках.

Прежде всего, вы можете написать ${HOME}/.pylintrc, чтобы отключить некоторые сообщения для всех проверок pylint. Вы можете создать версию этого файла по умолчанию, используя параметр --generate-rc-file. (См. этот вопрос для получения дополнительной информации).

Вы также можете выполнить настройку внутри проанализированных источников. Например, добавление комментариев в начало файла. Это отключит сообщения для всего файла. Комментарий имеет форму: #pylint: disable=warning-code, а "код-предупреждения" - это один из списка, который можно найти здесь.

Вы также можете отключить сообщения локально, поместив комментарий перед оператором / выражением или сбоку от него.

Например, это отключает предупреждение C0322 для кода внутри функции:

def my_func():
    #C0322 -> no space between operand and operator
    #pylint: disable=C0322
    return a+b

При размещении комментария справа он отключается для одной строки кода:

def my_func():
   return a+b  #pylint: disable=C0322

Я думаю, что в вашем случае вы можете либо поставить комментарий в начале функций, которые используют request, либо, если вы не обращаетесь к нему много раз, вы можете поместить комментарий справа от операторов.

person Bakuriu    schedule 16.09.2012