uv — 초고속 Python 패키지 관리자
Linux / 모던 CLI 도구 / uv.html
💬 "uv 명령어"
uv는 초고속 Python 패키지 관리자 Rust로 만들어진 Python 패키지 관리·실행 도구입니다. pip 대비 수십 배 빠릅니다.
Rust 기반이라 pip 대비 10~100배 빠른 설치를 제공합니다. 가상환경 생성·관리를 내장합니다 (virtualenv 불필요).
- 개념: Rust 기반이라 pip 대비 10~100배 빠른 설치를 제공합니다.
- 주요 기능: 가상환경 생성·관리를 내장합니다 (virtualenv 불필요).
- 장점: pyproject.toml과 uv.lock으로 의존성을 고정합니다.
- 활용: Python 자체도 다운로드·관리합니다 (pyenv 대체).
설치 및 다운로드
uv는 패키지 매니저 또는 공식 스크립트로 설치합니다.
| 환경 | 명령 |
|---|---|
| 공식 스크립트 (Linux/macOS) | curl -LsSf https://astral.sh/uv/install.sh | sh |
| macOS (brew) | brew install uv |
| pip (레거시) | pip install uv |
| Rust cargo | cargo install uv |
| 확인 | uv --version |
설치 확인은 uv --version으로 합니다.
자주 쓰는 옵션
| 옵션 | 설명 |
|---|---|
uv init | 새 프로젝트를 초기화합니다 |
uv add <pkg> | 의존성을 추가하고 잠금 파일을 갱신합니다 |
uv run <cmd> | 가상환경 안에서 명령을 실행합니다 |
uv venv | 가상환경을 생성합니다 |
uv pip install <pkg> | pip 호환 설치 명령입니다 |
필수 명령어 조합 3가지
uv init myapp && cd myapp— 새 프로젝트 초기화uv add fastapi uvicorn— 의존성 추가uv run python main.py— 가상환경에서 실행
💬 "실제 서버에서 uv를 사용하는 예시를 보여줘"
실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.
1단계 · 설치 확인
설치 여부를 확인합니다.
uv --version || curl -LsSf https://astral.sh/uv/install.sh | sh
2단계 · 가상환경 생성
프로젝트 가상환경을 만듭니다.
cd /var/www/app && uv venv
3단계 · 의존성 설치
기존 requirements.txt를 설치합니다.
uv pip install -r requirements.txt
실제 실행 화면
uv로 가상환경을 생성하고 의존성을 설치한 결과입니다.

실제 운영 중인 서버
실무에서는 이렇게 씁니다
1. 기존 pip 프로젝트 이관
상황 — 기존 requirements.txt를 uv로 이관합니다.
uv venv && uv pip install -r requirements.txt
결과 — 24개 패키지가 120ms에 설치됩니다.
포인트 — 빌드 시간이 수십 초에서 수 밀리초로 줄어듭니다.
2. CI에서 재현성 확보
상황 — CI 파이프라인에 uv를 도입합니다.
uv add fastapi && uv run pytest
결과 — uv.lock으로 재현성 있는 설치가 가능합니다.
포인트 — uv.lock은 반드시 git에 커밋합니다.
실제 실행 화면
uv run으로 애플리케이션을 실행한 결과입니다.

실제 운영 중인 서버
주의할 점
- uv.lock 파일은 반드시 git에 커밋합니다. 없으면 재현성이 사라집니다.
- pip로 설치한 전역 패키지와 섞이지 않도록 가상환경 안에서만 사용합니다.
- 회사 방화벽 환경에서는 PyPI 미러 설정(--index-url)이 필요할 수 있습니다.