uv 설치와 사용법: Python 프로젝트 만들기, 패키지 추가, 스크립트 실행

공식 절차로 uv를 설치하고 프로젝트를 초기화한 뒤, 패키지 하나를 추가하고 uv run으로 스크립트를 실행한다.

로컬에서 uv로 Python 프로젝트를 다루려면 네 가지를 먼저 끝낸다. 공식 설치, uv init, uv add로 패키지 하나, uv run으로 스크립트.

docs.astral.sh/uv/를 따르고 패키지 이름을 짐작하지 않는다. 검색어는 uv 설치, uv init, uv run으로 스크립트 실행. 설치는 astral.sh/uv.

uvAstral 명령 이름
initpyproject.toml 작성
run프로젝트 환경에서 실행

OS에 맞춰 공식 바이너리를 설치한다

macOS와 Linux

공식 스크립트: curl -LsSf https://astral.sh/uv/install.sh | sh. 또는 brew install uv. 새 터미널에서 uv --version.

Windows

PowerShell: irm https://astral.sh/uv/install.ps1 | iex. 새 세션에서 uv가 PATH에 있는지 확인한다.

단계명령주의
설치uv --version현재 셸이 공식 바이너리를 찾아야 함
생성uv init myprojectpyproject.toml이 생겨야 함
의존성uv add httpx이름은 PyPI. 잠금 파일이 갱신됨
실행uv run python hello.py프로젝트 환경. 수동 activate 불필요

설치, 생성, 패키지 추가, 실행

  1. 01
    설치하고 버전을 확인한다

    docs.astral.sh/uv/getting-started/installation/의 스크립트 또는 Homebrew. uv --version이 버전을 찍어야 한다. 명령이 없으면 새 터미널과 PATH.

  2. 02
    프로젝트를 만든다

    부모 디렉터리에서 uv init myproject, 그다음 cd myproject. pyproject.toml이 보여야 한다. 빈 폴더는 그냥 uv init.

  3. 03
    패키지 하나를 추가한다

    예: uv add httpx. uv가 의존성을 풀고 잠금을 쓰며 환경을 준비한다. 실패하면 패키지명과 네트워크. 반쯤 쓴 잠금을 손으로 고치지 않는다.

  4. 04
    스크립트를 쓰고 실행한다

    hello.py를 만들고 새 패키지를 쓴 뒤 uv run python hello.py. 인터프리터를 고정하려면 먼저 uv python install.

curl -LsSf https://astral.sh/uv/install.sh | sh
uv --version
uv init myproject
cd myproject
uv add httpx
# hello.py를 쓴 뒤:
uv run python hello.py
공식 설치 스크립트가 필수인가?
아니다. 문서에 Homebrew, WinGet 등도 있다. 하나를 고르고 uv --version으로 확인한다. PATH를 奪는 여러 복사본을 섞지 않는다.
직접 venv를 만들어야 하나?
일상에는 필요 없다. uv add와 uv run이 프로젝트 환경을 쓴다. .venv는 .gitignore에 넣고 커밋하지 않는다.
uv run과 python의 차이는?
시스템 python은 프로젝트 의존성을 못 볼 수 있다. uv run은 프로젝트 인터프리터와 설치된 패키지를 고른다.
설치하면 공유 그림을 대체하는가?
아니다. Python 툴체인이다. 회의가 같은 그림이면 sitdraw를 연다.

먼저 uv를 PATH에 넣는다

uv --version이 될 때까지 실패한 init을 템플릿 버그로 보지 않는다. 대부분은 설치 스크립트가 바꾼 PATH를 현재 셸이 읽지 않은 것이다.

그리기 시작