Python pre-commitをWindowsで使う
しかしながらpre-commitスクリプトは「.git/hook/」ディレクトリに作成するのでプロジェクト(リポジトリ)で共有してメンテするのに取り回しが悪いです。
Python製のツール、pre-commitを使うとこんな感じの定義ファイル(.pre-commit-config.yaml)を作成して、
# See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks repos: # Linter - repo: https://gitlab.com/pycqa/flake8 rev: 3.8.4 hooks: - id: flake8 files: ^app/ # Auto Lint - repo: https://github.com/pre-commit/mirrors-autopep8 rev: v1.5.4 hooks: - id: autopep8 files: ^app/ #Test - repo: local hooks: - id: pytest files: ^app/ name: pytest entry: pytest language: systemそれを「pre-commit install」コマンドを実行することで各々のローカルに同じpre-commitスクリプトを作成してくれます。
これによりプロジェクトとして一つの定義ファイルをメンテしていけば同じpre-commitスクリプトをメンバーで共有できるわけです。
Python pre-commitでは公開されたリポジトリでサポートされているlinterなどを使ったり、ローカルマシンの任意のコマンドを実行させることができます。
で導入しようと思ったのですがそのままではWindowsマシンでうまく動きませんでした。
理由は作成されたpre-commitスクリプトのシバンがこのようになっていて
#!/usr/bin/env python
# File generated by pre-commit: https://pre-commit.com
なので自分の環境のPythonの絶対パスを探して書き換えます。
>where python3
C:\Users\user\AppData\Local\Microsoft\WindowsApps\python3.exe
#!c:/Users/user/AppData/Local/Microsoft/WindowsApps/python3
# File generated by pre-commit: https://pre-commit.com
ディスカッション
コメント一覧
まだ、コメントがありません