Как я могу сказать Pychecker игнорировать импортированную библиотеку? - PullRequest
1 голос
/ 17 сентября 2010

Один из модулей, которые я импортирую в свой проект python, вызывает много предупреждений под Pychecker.Исправление этого внешнего модуля на самом деле не вариант, поэтому я хочу сказать, что Пичекер игнорирует его.

Кто-нибудь знает, как это сделать?Я уверен, что это возможно, и, вероятно, довольно просто, но после того, как я некоторое время тралял Google, я не нашел никакой документации или примеров.

Спасибо, Сэм

Редактировать: яК сожалению, я не могу пометить это с помощью 'pychecker', так как этот тег еще не существует, а мой представитель слишком мал для создания.

Изменить 2 Дополнительный вопрос: действительно ли pycheckerв любом случае проверять игнорируемые модули и просто не печатать ничего, что находит?или вы получаете некоторое ускорение, игнорируя некоторые модули?

Ответы [ 3 ]

1 голос
/ 17 сентября 2010

Я нашел другой вариант - вы можете занести в черный список, используя флаг -b.Например,

python pychecker.py -b list,of,modules,to,ignore

Я не уверен, но я все равно проверяю импортированные модули, но просто не выводит предупреждения.Конечно, с флагом -b это выглядит не так быстро, как без - хотя бы предупреждения исчезли: -)

1 голос
/ 24 января 2011

На бонусный дополнительный вопрос:

  • pychecker всегда импортирует файлы, которые вы передаете, что приводит к его импорту независимо от того, какой импорт. Это так же, как Python. Это первый проход в pychecker.
  • Затем pychecker на самом деле проходит через загруженные модули, разбирает код и запускает все коды операций. Это второй проход.
  • В обоих случаях он отслеживает все предупреждения, генерируемые даже игнорируемыми модулями. Затем он отфильтровывает эти предупреждения перед их отображением.

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

1 голос
/ 17 сентября 2010

Per документы ,

Если вы хотите подавить предупреждения для модуля / функции / класса / метода, вы можете определить словарь подавлений в .pycheckrc.Примеры ключей: 'module', 'module.function', 'module.class', 'module.class.method' и т. Д. И т. Д.

IOW, в вашем .pycheckrc , если проблемный модуль называется foobar, у вас будет

suppressions = {'foobar': '...'}

, где ... означает, все нужные вам опции подавления.Используйте pychecker -h, чтобы получить список всех опций;Я думаю, что 'limit=0' сделает то, что вы просите (покажите максимум 0 предупреждений для этого модуля, т.е. ни одного ;-), но вы можете быть более избирательными (в конце концов, вам нужно только написать этораз и навсегда в .pycheckrc, а не в каждом месте, из которого вы звоните pychecker ... что является удобством подхода pycheckrc!).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...