pylint игнорировать по каталогу

19

Ниже приведены документы pylint :

--ignore=<file>
    Add <file or directory> to the black list. It should be a base name, not a path. You may set this option multiple times. [current: %default]

Но мне не повезло, что часть каталога работает.

У меня есть каталог с именем migrations, у которого есть файлы миграции django-south. Когда я вхожу --ignore = migrations, он все равно продолжает давать мне ошибки / предупреждения в файлах внутри каталога миграций.

Может ли быть, что --ignore не работает для каталогов?

Если бы я мог использовать regexp для соответствия игнорируемым файлам, это сработало бы, так как файлы django-south все назывались 0001_something, 0002_something ...

Так как я не мог заставить игнорировать по каталогу работать, я прибегал к простому # pylint: disable-msg-cat=WCREFI поверх каждого файла миграции, который игнорирует все ошибки, предупреждения и информацию pilint.

    
задан Ciantic 23.03.2010 в 22:20
источник
  • pylint в настоящее время только уважает последнюю опцию --ignore в вашем имени пути. Возможно, вы используете --ignore несколько раз? logilab.org/ticket/22273 –  badp 24.03.2010 в 09:05
  • Связано ли это с pydev? Возможно, добавьте теги, такие как pydev или eclipse? Я тоже ищу это. –  michuelnik 05.04.2014 в 18:59

3 ответа

15

Добавление:

[MASTER]
ignore=migrations

В мой .pylintrc работает с pylint 0.25. Мои проблемы с PyDev, которые (кажется) не соответствуют моим настройкам. Это связано, я думаю, с тем, что он запускает pylint per-file, который, как я думаю, обходит «игнорировать» проверки - будь то для модулей / каталогов или файлов. Вызов pylint из PyDev выглядит так:

/path/to/site-packages/pylint/lint.py --include-ids=y /path/to/project/migrations/0018_migration.py
    
ответ дан marqueed 08.12.2011 в 07:40
  • Я могу подтвердить, что ignore = migrations все еще работает с pylint 1.3.1 –  Peterino 21.10.2014 в 15:32
  • Это не сработало для меня. Однако использование имени модуля делало трюк. Поэтому для пакета, такого как foo / bar, мне пришлось использовать foo.bar вместо bar. –  exhuma 21.12.2017 в 17:27
5

Вы не можете указать путь, но только «базовое имя» каталога. Например. используйте --ignore=lib вместо --ignore-=appengine-toolkit/gaetk/lib .

Проблема заключается в том, что вы игнорируете жирный все каталоги с именем lib .

    
ответ дан max 09.09.2015 в 15:07
-1

Затем вы можете использовать расширение Bash в своих интересах:

--ignore=migrations/{0000..1000}_something
    
ответ дан badp 24.03.2010 в 08:57
  • Это не сработает из-за logilab.org/ticket/22273 –  badp 24.03.2010 в 09:04
  • Я думаю, что игнорирование допускает только basename, поэтому миграции / не будут работать. Также я развиваюсь под Windows, поэтому, думаю, Bash не может быть и речи. –  Ciantic 24.03.2010 в 15:31
  • Это сообщение выглядит немного длинным, поэтому я снова спрошу. Может, что-то изменилось. Можно ли исключить весь каталог миграций? Я тоже на Windows. :( Благодаря. –  Mridang Agarwalla 24.10.2011 в 16:21
  • Да, это работает для меня. Моя строка выглядит так: ignore = CVS, миграция –  Harlin 22.03.2017 в 04:45