[python] Pipenv를 사용하여 패키지 설치 전에 pre-commit 훅 실행하기
개요
Pipenv는 Python 프로젝트 관리를 위한 도구이며, 패키지 의존성 관리와 가상 환경 설정을 편리하게 제공합니다. 이번 글에서는 Pipenv를 사용하여 패키지를 설치하기 전에 pre-commit 훅을 자동으로 실행하는 방법에 대해 알아보겠습니다.
pre-commit 훅이란?
pre-commit 훅은 코드 커밋 전에 실행되는 작업을 말합니다. 흔히 사용되는 pre-commit 훅의 예로는 코드 포매터나 정적 분석 도구를 실행하여 코드 스타일을 일관되게 유지하거나, 테스트 스크립트를 실행하여 코드의 품질을 보증하는 등의 작업이 있습니다.
Pipenv와 pre-commit 사용하기
Pipenv는 Pipfile
과 Pipfile.lock
을 사용하여 패키지 의존성을 관리합니다. Pipfile
은 의존성 목록과 버전 정보, Pipfile.lock
은 의존성 그래프와 실제 설치된 패키지 정보를 담고 있습니다. 이를 활용하여 pre-commit 훅을 실행해보겠습니다.
- Pipenv 설치하기:
$ pip install pipenv
- 프로젝트 폴더로 이동하기:
$ cd my_project
- Pipenv 활성화하기:
$ pipenv shell
- pre-commit 패키지 설치하기:
$ pipenv install pre-commit
.pre-commit-config.yaml
파일 생성하기:$ touch .pre-commit-config.yaml
.pre-commit-config.yaml
파일 수정하기: ```yaml repos:- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.5.1
hooks:
- id: trailing-whitespace ```
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.5.1
hooks:
- pre-commit 훅 설치하기:
$ pre-commit install
이제 패키지를 설치할 때마다 pre-commit 훅이 자동으로 실행됩니다. pre-commit 훅에서 정의한 작업(위의 예시에서는 trailing-whitespace 검사)을 수행한 후에 코드를 커밋할 수 있습니다.
결론
Pipenv와 pre-commit을 함께 사용하여 패키지 설치 전에 pre-commit 훅을 자동으로 실행하는 방법에 대해 알아보았습니다. 이를 통해 코드 품질을 유지하고 일관된 코드 스타일을 유지할 수 있습니다.