🧪 Python 가상환경 3종 비교: venv vs pyenv vs poetry
1️⃣ 핵심 개념 요약
도구 주요 기능 사용 목적
venv | Python 자체 가상환경 생성기 | 가볍게 가상환경 분리용 |
pyenv | 여러 Python 버전 관리 도구 | 다양한 버전 관리 + 전환 |
poetry | 프로젝트 의존성 + 가상환경 + 빌드 관리 | 올인원 패키징 및 배포 도구 |
2️⃣ 각각 언제 쓰면 좋을까?
상황 추천 도구 이유
단순한 Python 가상환경만 필요할 때 | venv | 기본 제공, 가볍고 간단함 |
다양한 Python 버전 전환 필요할 때 | pyenv | 시스템에 영향 없이 여러 버전 설치/관리 가능 |
프로젝트별 의존성, 빌드, 배포까지 통합하고 싶을 때 | poetry | pyproject.toml 기반 관리, 재현성 높음 |
3️⃣ 설정 흐름 비교
✅ venv 기본 사용법
python -m venv venv
source venv/bin/activate # 윈도우는 venv\Scripts\activate
- requirements.txt로 pip 설치 관리
✅ pyenv + pyenv-virtualenv 사용법
pyenv install 3.11.3
pyenv virtualenv 3.11.3 myenv
pyenv activate myenv
- 원하는 Python 버전을 선택해 가상환경 생성 가능
✅ poetry 사용법
poetry new my_project
cd my_project
poetry add requests
poetry shell # 가상환경 진입
- pyproject.toml 파일로 의존성 자동 관리
4️⃣ 장단점 비교
도구 장점 단점
venv | - 기본 제공- 단순하고 빠름 | - 버전 전환 기능 없음- 의존성 관리 수동 |
pyenv | - Python 버전 분리/전환 쉬움- OS 영향 없음 | - 설치/설정이 복잡함- 가상환경 따로 연동 필요 |
poetry | - 의존성 관리 + 가상환경 자동화- 빌드/배포에 강함 | - 초반 진입장벽 있음- 내부 가상환경 경로 헷갈릴 수 있음 |
5️⃣ 실전 팁 💡
- venv는 파이썬 설치만으로 바로 가능하므로 간단 테스트 프로젝트에 적합
- pyenv는 다양한 프로젝트에서 버전 충돌 없애기 위한 개발자 필수 도구
- poetry는 실무/협업에서 가장 깔끔하게 의존성을 관리하고 배포까지 이어질 수 있음
✅ 한 줄 요약
- venv: 가볍고 빠른 기본 가상환경
- pyenv: 다양한 Python 버전 컨트롤용
- poetry: 의존성 + 배포까지 통합된 고급 도구
처음엔 venv → 익숙해지면 pyenv + poetry 조합 추천!
⚠️ 셋업 시 혼용하지 말고, 프로젝트마다 하나의 도구만 선택해서 일관되게 사용하는 게 중요합니다!
'기술블로그' 카테고리의 다른 글
✅ Python 기초 개념: if __name__ == "__main__" 완전 정복 (0) | 2025.05.27 |
---|---|
🧠 Django vs FastAPI의 개발 철학 비교 (0) | 2025.05.26 |
🧩 Flask vs Django vs FastAPI 비교 정리 (0) | 2025.05.26 |
Visual Studio Code 추천 확장프로그램 (0) | 2025.04.17 |
✅ GitHub Copilot 설치 및 설정 방법 (0) | 2025.04.17 |