Pylint и pre-commit python 3.7
Я пытаюсь настроить Pylint для работы с pre-commit. Я изучил документы, но все еще в замешательстве. Я не знаю, как правильно настроить.pre-commit-config.yaml.
Не могли бы вы предоставить самый простой шаблон?
- repo: myrepo
rev: '' # Don't know that to type here
hooks:
- id: pylint
3 ответа
Самый простой из возможных шаблонов будет следующим:
- repo: https://github.com/pre-commit/mirrors-pylint
rev: v2.3.1
hooks:
- id: pylint
Вы также можете передать аргументы в pylint:
- repo: https://github.com/pre-commit/mirrors-pylint
rev: v2.3.1
hooks:
- id: pylint
args:
- --max-line-length=80
- --ignore-imports=yes
- -d duplicate-code
Примечания о совместимости:
- Python> =3.7 требует pylint> = 2.0
- Python 2 требует pylint < 2.0 (поддержка Python 2 была удалена в Pylint 2)
Вот фрагмент конфигурации перед фиксацией, который работает для меня, используя обычные pylint
вместо того mirrors-pylint
:
- repo: https://github.com/pycqa/pylint
rev: pylint-2.5.3
hooks:
- id: pylint
args:
- --errors-only
Согласно руководству пользователя Pylint ,
Поскольку для правильной работы pylint необходимо импортировать модули и зависимости, хук работает только при локальной установке pylint (в вашей среде).
Итак, вы должны поставитьrepo: local
и установите pylint локально. Их первый пример.pre-commit-config.yaml
выглядит так:
- repo: local
hooks:
- id: pylint
name: pylint
entry: pylint
language: system
types: [python]
args:
[
"-rn", # Only display messages
"-sn", # Don't display the score
]