uv 기본 사용법
목적
uv는 Rust로 만들어진 Python 패키지 매니저로, 기존 pip을 대체한다. pip보다 10~100배 빠른 설치 속도가 핵심이며, 가상환경 생성과 패키지 설치를 통합 관리한다.
- pip, pip-tools, venv를 하나로 대체한다.
- Python 버전 설치도 지원하여 pyenv와 역할이 일부 겹친다.
- 의존성 충돌을 자동으로 감지하고 해결한다.
Python 버전 관리는 pyenv, 패키지 관리는 uv로 역할을 나누는 것이 일반적인 사용 방식이다.
설치
macOS
brew install uv
Windows
PowerShell에서 아래 명령어로 설치한다.
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
설치 후 터미널을 재시작하면 환경변수가 자동으로 적용된다. 적용 여부는 아래 명령어로 확인한다.
uv --version
패키지 설치
pip 명령어 앞에 uv를 붙이면 된다.
# 패키지 설치
uv pip install requests
# 여러 패키지 한 번에 설치
uv pip install jupyter ipykernel ipywidgets
# 특정 버전 설치
uv pip install requests==2.31.0
# requirements.txt로 설치
uv pip install -r requirements.txt
가상환경
# 가상환경 생성 (.venv 폴더가 생성됨)
uv venv
# 특정 Python 버전으로 가상환경 생성
uv venv --python 3.12
# 가상환경 활성화 (macOS/Linux)
source .venv/bin/activate
# 가상환경 활성화 (Windows)
.\.venv\Scripts\activate
# 가상환경 비활성화
deactivate
패키지 관리
# 설치된 패키지 목록 확인
uv pip list
# 패키지 삭제
uv pip uninstall requests
# requirements.txt 생성
uv pip freeze > requirements.txt
# 패키지 업데이트
uv pip install --upgrade requests
자주 쓰는 명령어 요약
uv pip install 패키지명 # 패키지 설치
uv pip install -r requirements.txt # requirements.txt로 설치
uv pip uninstall 패키지명 # 패키지 삭제
uv pip list # 설치된 패키지 목록
uv pip freeze > requirements.txt # requirements.txt 생성
uv venv # 가상환경 생성
uv venv --python 3.12 # 특정 버전으로 가상환경 생성
참고
- 가상환경을 활성화한 상태에서 uv pip install을 하면 해당 가상환경에만 패키지가 설치된다.
- uv pip install과 pip install은 혼용할 수 있지만, 한 가지 방식으로 통일하는 것이 좋다.