English

uv — 초고속 Python 패키지 관리자

Linux / 모던 CLI 도구 / uv.html

모던 CLI 도구원문등록 2026-10-18T22:00:00+09:00

💬 "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 cargocargo 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로 가상환경을 생성하고 의존성을 설치한 결과입니다.

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 명령어 실행 결과 2

실제 운영 중인 서버

주의할 점

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