Pylint不会忽略迁移

2024-06-16 15:34:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Pylint并通过预提交钩子运行它。它不会忽略我的迁移文件夹。我应该向配置中添加什么

repos:
  - repo: https://github.com/PyCQA/pylint
    rev: pylint-2.5.2
    hooks:
      - id: pylint
        name: pylint
        entry: pylint
        language: system
        types: [python]
        args:
        - --rcfile=./backend/.pylintrc
        - --load-plugins=pylint_django

和文件.pylintrc

[MASTER]
init-hook='import sys; sys.path.append("./backend")'
max-line-length=120
disable=
    missing-module-docstring,
    missing-function-docstring,
    missing-class-docstring,
    too-few-public-methods,
    no-self-use,
    fixme,
ignore=migrations

Tags: httpsgithub文件夹combackendsysreporepos
1条回答
网友
1楼 · 发布于 2024-06-16 15:34:45

预提交passes filenames as positional arguments到挂钩

这意味着它将pylint调用为:

pylint path/to/filename.py path/to/migrations/filename.py ...

当您像这样调用pylint时,它会显式地为命令行上的任何文件生成lint错误。ignore设置仅用于pylint的递归模式

建议的修复方法是在预提交配置中exclude从pylint中删除这些文件

请注意,您的配置还有另一个问题:

  • 您正在使用基于存储库的配置,但随后使用language: system钩子覆盖该设置,因此您将完全放弃存储库配置

综上所述:

repos:
  - repo: local
    hooks:
      - id: pylint
        name: pylint
        entry: pylint
        language: system
        types: [python]
        exclude: ^migrations/
        args:
        -  rcfile=./backend/.pylintrc
        -  load-plugins=pylint_django

免责声明:我是pre-commit的作者

相关问题 更多 >