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.
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 myproject | pyproject.toml이 생겨야 함 |
| 의존성 | uv add httpx | 이름은 PyPI. 잠금 파일이 갱신됨 |
| 실행 | uv run python hello.py | 프로젝트 환경. 수동 activate 불필요 |
설치, 생성, 패키지 추가, 실행
- 01설치하고 버전을 확인한다
docs.astral.sh/uv/getting-started/installation/의 스크립트 또는 Homebrew.
uv --version이 버전을 찍어야 한다. 명령이 없으면 새 터미널과 PATH. - 02프로젝트를 만든다
부모 디렉터리에서
uv init myproject, 그다음cd myproject.pyproject.toml이 보여야 한다. 빈 폴더는 그냥uv init. - 03패키지 하나를 추가한다
예:
uv add httpx. uv가 의존성을 풀고 잠금을 쓰며 환경을 준비한다. 실패하면 패키지명과 네트워크. 반쯤 쓴 잠금을 손으로 고치지 않는다. - 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를 현재 셸이 읽지 않은 것이다.