DEVOTEE 요약 UV는 Rust로 개발된 Python 패키지 및 프로젝트 관리 도구로, PIP보다 10배에서 100배 빠른 속도와 가상환경, 의존성 관리, Python 버전 관리 등의 통합적인 기능을 제공합니다. UV는 프로젝트 초기화 시 자동으로 가상환경을 생성하고 의존성을 체계적으로 관리하며, 병렬 처리, 전역 캐시 활용, HTTP/2 지원 등으로 성능을 최적화합니다. 설치와 실행도 간편하며 데이터 분석, 웹 개발, 기계학습 등 다양한 프로젝트에서 활용할 수 있습니다.
UV는 Rust로 작성된 매우 빠른 Python 패키지 및 프로젝트 관리자입니다.
이 튜토리얼에서는 UV의 설치부터 기본적인 사용법까지 단계별로 알아보겠습니다.
UV는 Python 패키지 관리와 프로젝트 관리를 위한 현대적인 도구입니다. 주요 특징은 다음과 같습니다:
관련 github: https://github.com/astral-sh/uv
| 작업 | pip + venv | uv |
|---|---|---|
| 프로젝트 초기화 | mkdir my-project |
|
cd my-project |
||
python -m venv .venv |
uv init my-project |
|
cd my-project |
||
| 가상환경 생성 | python -m venv .venv |
자동 생성 (uv init 시) |
| 가상환경 활성화 | macOS/Linux: | |
source .venv/bin/activate |
||
| Windows: | ||
.venv\\Scripts\\activate |
자동 활성화 (패키지 설치/실행 시) | |
| 패키지 설치 | pip install requests |
uv pip install requests |
| 또는 | ||
uv add requests |
||
| 의존성 관리 | pip freeze > requirements.txt |
|
pip install -r requirements.txt |
uv pip freeze > requirements.txt |
|
uv pip install -r requirements.txt |
||
| 또는 | ||
uv lock |
||
uv sync |
||
| 패키지 실행 | python -m pytest |
uv run pytest |
| 개발 의존성 설치 | pip install --dev pytest |
uv add --dev pytest |
| 패키지 제거 | pip uninstall requests |
uv pip uninstall requests |
| 또는 | ||
uv remove requests |
||
| 패키지 업그레이드 | pip install --upgrade requests |
uv pip install --upgrade requests |
| Python 버전 관리 | 수동 설치 및 관리 | uv python install 3.11 |
uv run --python 3.11 script.py |
||
| 의존성 해결 | 순차적 처리 | 병렬 처리 (PubGrub 알고리즘) |
| 캐시 관리 | 프로젝트별 캐시 | 전역 캐시 시스템 |
| 디스크 공간 | 각 프로젝트별 복사본 | 하드 링크 사용으로 효율적 |
| 네트워크 최적화 | HTTP/1.1 | HTTP/2 지원, 연결 풀링 |
uv add), 버전 잠금 기능 (uv lock)