UV
Mac, Linux
Mac, Linux
bash
Linux
$ curl -LsSf https://astral.sh/uv/install.sh | sh
# Mac
$ brew install uvWindows install
powershell
> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"bash
$ uv --version
# init
$ uv init "project name"
$ cd "project name"
# venv
$ uv venv
$ uv venv --python 3.13
# mac, linux
$ source .venv/bin/activate
# windows
$ .venv\Scripts\activate
$ uv run main.py
$ uv add pandas
$ uv remove pandas
$ uv lock
$ uv pip freeze > requirements.txt
$ uv pip install -r requirements.txt
$ uv python pin 3.13
$ uv python install 3.13
$ uv python list
$ uv python update-shell패키지 관리 명령어
bash
# 기본 패키지 설치
uv pip install requests # requests 패키지 설치
# 특정 버전 설치
uv pip install requests==2.31.0 # requests 2.31.0 버전 설치
uv pip install "requests>=2.31.0" # requests 2.31.0 이상 버전 설치
uv pip install "requests<3.0.0" # requests 3.0.0 미만 버전 설치
# 개발 의존성 설치
uv pip install --dev pytest # 개발 환경에서만 필요한 패키지 설치
uv pip install --dev black isort mypy # 여러 개발 도구 한 번에 설치
# 패키지 제거
uv pip uninstall requests # requests 패키지 제거
uv pip uninstall -y requests # 확인 없이 바로 제거
# 패키지 업그레이드
uv pip install --upgrade requests # requests 패키지 최신 버전으로 업그레이드
uv pip install --upgrade pip # pip 자체 업그레이드
# 패키지 검색
uv pip search "data science" # 키워드로 패키지 검색
# 패키지 정보 확인
uv pip show requests # requests 패키지 상세 정보 확인
uv pip list # 설치된 모든 패키지 목록 확인
uv pip list --outdated # 업그레이드가 필요한 패키지 목록 확인프로젝트 관리 명령어
bash
# 새 프로젝트 생성
uv init my-project # 기본 프로젝트 생성
uv init my-project --python 3.11 # 특정 Python 버전으로 프로젝트 생성
uv init my-project --no-venv # 가상환경 없이 프로젝트 생성
# 의존성 관리
uv add requests # requests 패키지 추가
uv add requests==2.31.0 # 특정 버전의 requests 추가
uv add --dev pytest # 개발 의존성으로 pytest 추가
uv add -e ./local-package # 로컬 패키지를 개발 모드로 추가
# 의존성 제거
uv remove requests # requests 패키지 제거
uv remove --dev pytest # 개발 의존성 제거
# 의존성 동기화
uv sync # 모든 의존성 설치/업데이트
uv sync --dev # 개발 의존성 포함하여 동기화
uv sync --no-dev # 개발 의존성 제외하고 동기화
# 의존성 잠금
uv lock # 현재 의존성 상태를 잠금 파일에 저장
uv lock --dev # 개발 의존성 포함하여 잠금
uv lock --no-dev # 개발 의존성 제외하고 잠금가상환경 명령어
bash
# 가상환경 생성
uv venv # 기본 가상환경 생성
uv venv --python 3.11 # Python 3.11로 가상환경 생성
uv venv --name myenv # 특정 이름으로 가상환경 생성
uv venv --clear # 기존 가상환경 삭제 후 새로 생성
# 가상환경 활성화
# macOS/Linux
source .venv/bin/activate # 기본 가상환경 활성화
source myenv/bin/activate # 특정 이름의 가상환경 활성화
# Windows
.venv\Scripts\activate # 기본 가상환경 활성화
myenv\Scripts\activate # 특정 이름의 가상환경 활성화
# 가상환경 비활성화
deactivate # 모든 운영체제에서 동일Python 버전 관리 명령어
bash
# Python 설치
uv python install 3.11 # Python 3.11 설치
uv python install 3.11.0 # 특정 마이너 버전 설치
uv python install 3.11 --force # 강제로 재설치
# Python 버전 관리
uv python list # 설치된 Python 버전 목록
uv python remove 3.11 # Python 3.11 제거
uv python pin 3.11 # 현재 디렉토리의 Python 버전을 3.11로 고정
# 특정 Python 버전 사용
uv run --python 3.11 script.py # Python 3.11로 스크립트 실행
uv run --python 3.11 -m pytest # Python 3.11로 pytest 실행스크립트 실행 명령어
bash
# 기본 스크립트 실행
uv run script.py # script.py 실행
uv run -m module # Python 모듈 실행
# 의존성과 함께 실행
uv run --with-deps script.py # 필요한 의존성 설치 후 스크립트 실행
uv run --no-deps script.py # 의존성 설치 없이 스크립트 실행
# 인자 전달
uv run script.py --arg1 value1 --arg2 value2 # 스크립트에 인자 전달
uv run -m pytest tests/ --verbose # pytest에 옵션 전달
# 환경 변수 설정
uv run --env VAR1=value1 --env VAR2=value2 script.py # 환경 변수 설정FastAPI 예시
bash
# 프로젝트 생성
uv init web-api --python 3.11
cd web-api
# FastAPI 및 관련 패키지 설치
uv pip install fastapi==0.103.0 uvicorn==0.23.0
uv pip install sqlalchemy==2.0.20 alembic==1.12.0
uv pip install pydantic==2.3.0 python-jose==3.3.0 passlib==1.7.4
# 개발 도구 설치
uv pip install --dev pytest==7.4.0 httpx==0.24.1
uv pip install --dev black==23.7.0 isort==5.12.0
uv pip install --dev mypy==1.5.0 types-requests==2.31.0.2
# 데이터베이스 마이그레이션 설정
uv run alembic init migrations
uv run alembic revision --autogenerate -m "initial migration"
uv run alembic upgrade head
# 개발 서버 실행
uv run uvicorn main:app --reload --host 0.0.0.0 --port 8000