Python 02. uv
Python 02. uv
uv
- uv: Rust로 작성된 초고속 Python 패키지 및 프로젝트 관리자
1. uv 설치하기
- macOS / Linux
1
curl -LsSf https://astral.sh/uv/install.sh | sh - Windows (PowerShell)
1
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
2. 프로젝트 기반 관리
최신 uv는 Poetry나 npm처럼 pyproject.toml을 사용하여 프로젝트 단위로 가상환경을 자동 관리한다.
2.1 프로젝트 초기화
1
uv init
또는
1
2
uv init my-project
cd my-project
pyproject.toml파일이 생성되고, 프로젝트 전용 가상환경이 자동으로 설정된다.
2.2 패키지 추가
pyproject.toml에 의존성을 기록하고 설치한다.
1
uv add requests numpy
- 자동으로 의존성을 해결하고
uv.lock파일을 생성한다.
2.3 동기화
pyproject.toml과uv.lock에 기록된 의존성을 설치한다.
1
uv sync
2.4 스크립트 실행
1
uv run python my_script.py
3. 파이썬 버전 관리
- 설치 가능한 파이썬 버전 목록 확인
1
uv python list
- 특정 파이썬 버전 설치
1
uv python install 3.12
- 프로젝트별 파이썬 버전 설정
1
uv pin 3.11
4. pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[project]
name = "my-project"
version = "0.1.0"
dependencies = [
"flask",
"requests",
]
[tool.uv]
dev-dependencies = [
"pytest",
"black",
]
[[tool.uv.index]]
url = "https://pypi.org/simple"
default = true
[project]: 프로젝트 메타데이터 및 의존성[tool.uv]: 개발 의존성 및 기타 설정dev-dependencies: 실제 서비스가 실행될 때(운영 환경)는 필요 없지만, 개발자가 코드를 짜거나 테스트할 때만 필요한 패키지들
[[tool.uv.index]]: 패키지 인덱스 설정- 패키지를 어디서 가져올지 지정
url: 패키지 인덱스 URLdefault: 기본 인덱스 여부
This post is licensed under CC BY 4.0 by the author.