기술블로그-Django편
[Python 개발 필수 3대 도구 비교 정리: venv, pyenv, poetry]
Chansman
2025. 5. 12. 14:12
[Python 개발 필수 3대 도구 비교 정리: venv, pyenv, poetry]
1️⃣ 프로젝트 가상환경 설정 방식 비교
키워드 venv (기본) pyenv poetry (통합 도구)
설명 | 가상환경 수동 생성 | 파이썬 버전 관리 | 가상환경 + 패키지 + 배포 통합 도구 |
가상환경 | python -m venv venv | pyenv-virtualenv 이용 | 자동 생성 (init 시 생성됨) |
패키지 관리 | pip + requirements.txt | pip 사용 | poetry add, poetry.lock 자동관리 |
파이썬 버전 관리 | 불가 (OS 버전에 의존) | 다양한 버전 설치/관리 | 일부 가능 (내부 설정 지원) |
가상환경 사용 | source venv/bin/activate | pyenv local 3.12.0 등 | poetry shell, poetry run |
배포 기능 | ❌ | ❌ | ✅ PyPI 배포 지원 |
2️⃣ 언제 어떤 도구를 써야 할까?
상황 추천 도구
간단한 프로젝트, 실습용 | venv |
여러 파이썬 버전 전환이 필요할 때 | pyenv |
팀 프로젝트, 통합 개발 및 배포 | poetry |
pyenv + poetry 조합으로 버전까지 통합 관리하고 싶을 때 | pyenv + poetry |
3️⃣ 사용 예시 코드
venv 사용 예시
python -m venv .venv
source .venv/bin/activate
pip install django
pyenv 사용 예시
pyenv install 3.12.0
pyenv virtualenv 3.12.0 myenv
pyenv local myenv
poetry 사용 예시
poetry new myproject
cd myproject
poetry shell
poetry add django
poetry run python manage.py runserver
✅ 핵심 요약 정리
- venv: 기본 가상환경 생성 도구 (pip + 수동 환경)
- pyenv: 다양한 파이썬 버전 설치 및 관리 도구
- poetry: 가상환경 + 패키지 + 버전 관리 + 배포 통합 도구
💡 실무 팁: pyenv로 원하는 버전 설치 후, poetry로 환경을 구성하면 확장성과 유지보수 측면에서 효율적입니다.