Пилинт игнорировать по каталогу - PullRequest
25 голосов
/ 24 марта 2010

Следующие от документы 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, он по-прежнему продолжает выдавать мне сообщения об ошибках / предупреждениях в файлах внутри каталога migrations.

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

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


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

Ответы [ 4 ]

23 голосов
/ 08 декабря 2011

Добавление:

[MASTER]
ignore=migrations

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

/path/to/site-packages/pylint/lint.py --include-ids=y /path/to/project/migrations/0018_migration.py
9 голосов
/ 09 сентября 2015

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

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

4 голосов
/ 01 сентября 2018

Хотя это старый вопрос, он появился в верхнем списке, когда мы искали переполнение стека, поэтому я публикую здесь наше решение в надежде, что оно может пригодиться кому-то еще.

Чтобы игнорировать подкаталоги в дереве каталогов с именем 3rdparty, мы добавили следующую запись ignore-patterns в запись [MASTER] в .pylintrc.

# Add files or directories matching the regex patterns to the blacklist. The
# regex matches against base names, not paths.
# Ignore all .py files under the 3rdparty subdirectory.
ignore-patterns=**/3rdparty/**/*.py

Это исправило проблему для pylint-1.7.1.

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

0 голосов
/ 24 марта 2010

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

--ignore=migrations/{0000..1000}_something
...