Python UV: 빠른 Python 패키지 관리자
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
소프트웨어 개발자 및 DevOps 엔지니어. Python 버전과 의존성 관리가 필요한 프로젝트 개발자, 특히 다중 버전 Python 환경에서 작업하는 분들에게 유용.
핵심 요약
- UV는 Python 버전 스위칭과 프로젝트별 의존성 관리를 동시에 해결하는 패키지 관리 도구.
pyproject.toml
및uv.lock
파일을 자동 생성하여 의존성과 버전을 관리.uv add
명령어로 패키지 설치 시 자동으로 가상 환경 생성 및 의존성 해결.
섹션별 세부 요약
1. Python 패키지 관리의 문제점
- Python 버전 관리: 시스템 기본 Python 인터프리터와 프로젝트별 버전 충돌 방지 필요.
- 의존성 관리: 프로젝트별로 다른 라이브러리 버전이 필요할 수 있음 (예: OpenSSL).
- 기존 도구 (venv, pip, Pyenv)의 한계: 버전 스위칭 또는 패키지 관리 기능 누락.
2. UV 설치 및 초기 설정
- macOS/Linux:
curl -LsSf | sh
또는brew install uv
로 설치. - 프로젝트 생성:
uv init
명령어로.python-version
,pyproject.toml
,uv.lock
파일 생성. - 가상 환경 자동 생성:
uv run main.py
실행 시.venv
폴더 생성.
3. 의존성 관리 및 사용 예시
- 패키지 추가:
uv add requests
명령어로 의존성 추가 시pyproject.toml
및uv.lock
자동 업데이트. - 설치된 패키지 목록:
- certifi==2025.4.26
- requests==2.32.4
- urllib3==2.4.0
4. Python 버전 관리
uv python list
명령어로 설치 가능한 Python 버전 확인 (예: 3.13.4, 3.9.6).- 시스템 기본 Python (3.9.6)과 프로젝트 지정 Python (3.13.4) 충돌 방지.
5. 기능 확장 및 도구 활용
uv export -o requirements.txt
명령어로 의존성 파일 생성.- 파이썬 3.13 이상 지원 및 가상 환경 자동 생성 기능.
결론
- UV는 Python 버전 스위칭과 의존성 관리를 통합한 효율적인 도구로,
pyproject.toml
및uv.lock
파일을 통해 자동화된 프로젝트 관리가 가능. uv add
,uv run
,uv export
등 간단한 명령어로 프로젝트 초기화 및 관리 가능.