--- title: uv — 초고속 Python 패키지 관리자 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: Rust로 만들어진 Python 패키지 관리·실행 도구입니다. pip 대비 수십 배 빠릅니다. tags: 프로그램, 모던 CLI 도구, uv --- **💬 "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 | 의존성을 추가하고 잠금 파일을 갱신합니다 | | uv run | 가상환경 안에서 명령을 실행합니다 | | uv venv | 가상환경을 생성합니다 | | uv pip install | 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로 가상환경을 생성하고 의존성을 설치한 결과입니다. ![uv 명령어 실행 결과](https://games.cursorai.co.kr/assets/uv-demo.png) 실제 운영 중인 서버 ## 실무에서는 이렇게 씁니다 ### 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 명령어 실행 결과 2](https://games.cursorai.co.kr/assets/uv-demo2.png) 실제 운영 중인 서버 ## 주의할 점 - uv.lock 파일은 반드시 git에 커밋합니다. 없으면 재현성이 사라집니다. - pip로 설치한 전역 패키지와 섞이지 않도록 가상환경 안에서만 사용합니다. - 회사 방화벽 환경에서는 PyPI 미러 설정(--index-url)이 필요할 수 있습니다. --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/modern/uv.html