1

Pylint を使用し、pre-commit フックを介して実行します。私の移行フォルダーは無視されません。構成に何を追加すればよいですか?

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
4

1 に答える 1

1

pre-commitは、ファイル名を位置引数としてフックに渡します

これは、pylint を次のように呼び出していることを意味します。

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

このように pylint を呼び出すと、コマンドラインのファイルに対して明示的に lint エラーが生成されます。このignore設定は、pylint の再帰モードにのみ使用されます

推奨される修正は、コミット前の構成でこれらのファイルを 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 の作成者です

于 2021-01-12T14:57:32.317 に答える