프로그래밍/python

Python: Pipenv

cyanhe_wh 2024. 10. 11. 21:43
반응형

Pipenv: Python 개발 환경 관리 도구

Pipenv는 Python 프로젝트의 의존성 관리와 가상 환경 생성을 단순화하는 도구입니다. Pip와 Virtualenv를 결합하여 더 나은 워크플로우를 제공합니다.

Pipenv의 주요 특징

  • 의존성 관리: 프로젝트의 모든 의존성을 Pipfile과 Pipfile.lock에 관리합니다.
  • 가상 환경 자동화: 프로젝트별로 격리된 환경을 자동으로 생성하고 관리합니다.
  • 보안: 의존성의 보안 취약점을 자동으로 확인합니다.
  • 환경 간 일관성: 개발, 테스트, 프로덕션 환경 간의 일관성을 보장합니다.

Pipenv 설치 및 기본 사용법

1. Pipenv 설치

pip install pipenv

2. 새 프로젝트 시작

mkdir my_project
cd my_project
pipenv --python 3.9  # 특정 Python 버전 지정

3. 패키지 설치

pipenv install requests  # 일반 의존성 설치
pipenv install pytest --dev  # 개발용 의존성 설치

4. 가상 환경 활성화

pipenv shell

5. 스크립트 실행

pipenv run python your_script.py

Pipenv 고급 사용법

1. 의존성 관리

Pipfile과 Pipfile.lock을 사용하여 의존성을 관리합니다.

[[source]]
url = "<https://pypi.org/simple>"
verify_ssl = true
name = "pypi"

[packages]
requests = "*"

[dev-packages]
pytest = "*"

[requires]
python_version = "3.9"

2. 환경 변수 관리

.env 파일을 프로젝트 루트에 생성하여 환경 변수를 관리할 수 있습니다.

3. 의존성 그래프 확인

pipenv graph

4. 보안 취약점 확인

pipenv check

Pipenv의 장점

  • 단순화된 워크플로우: 의존성 관리와 가상 환경 생성을 하나의 도구로 해결합니다.
  • 재현 가능한 빌드: Pipfile.lock을 통해 정확한 패키지 버전을 보장합니다.
  • 개선된 보안: 정기적인 보안 점검으로 취약점을 사전에 방지합니다.
  • 유연한 개발 환경: 프로젝트별로 독립적인 환경을 쉽게 구성할 수 있습니다.

결론

Pipenv는 Python 프로젝트의 의존성 관리와 가상 환경 설정을 크게 간소화합니다. 특히 팀 프로젝트나 복잡한 의존성을 가진 프로젝트에서 그 가치가 더욱 빛납니다. Pipenv를 사용하면 개발자는 환경 설정보다는 실제 개발에 더 집중할 수 있게 되어 생산성이 향상됩니다.

반응형

'프로그래밍 > python' 카테고리의 다른 글

python: pyenv  (0) 2024.10.11
가상환경(virtualenv) 사용법  (0) 2020.12.09