DEVOTEE 요약 UV는 Rust로 개발된 Python 패키지 및 프로젝트 관리 도구로, PIP보다 10배에서 100배 빠른 속도와 가상환경, 의존성 관리, Python 버전 관리 등의 통합적인 기능을 제공합니다. UV는 프로젝트 초기화 시 자동으로 가상환경을 생성하고 의존성을 체계적으로 관리하며, 병렬 처리, 전역 캐시 활용, HTTP/2 지원 등으로 성능을 최적화합니다. 설치와 실행도 간편하며 데이터 분석, 웹 개발, 기계학습 등 다양한 프로젝트에서 활용할 수 있습니다.

이제 PIP 대신에 uv를 사용하기

UV는 Rust로 작성된 매우 빠른 Python 패키지 및 프로젝트 관리자입니다.

이 튜토리얼에서는 UV의 설치부터 기본적인 사용법까지 단계별로 알아보겠습니다.

UV 소개

UV는 Python 패키지 관리와 프로젝트 관리를 위한 현대적인 도구입니다. 주요 특징은 다음과 같습니다:

관련 github: https://github.com/astral-sh/uv

PIP vs 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 지원, 연결 풀링
  1. 자동화된 가상환경 관리
  2. 의존성 관리 방식
  3. 성능 최적화
  4. Python 버전 관리
  5. 명령어 구조

macOS 및 Linux