python uv 설치 및 사용법
how to use python uv
uv
는 Rust로 작성된 Python 패키지 및 프로젝트 매니저로서, 기존의 pip, virtualenv, pip-tools 등을 통합하여 더 빠르고 효율적으로 패키지 설치와 의존성 관리를 수행합니다. 이 문서에서는 uv 설치부터 기본 사용법, 프로젝트 관리, 다양한 Python 버전 관리 등을 설명합니다.
설치 방법
uv는 여러 가지 방법으로 설치할 수 있습니다. 다음은 주요 설치 방법입니다:
macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Python(Pip) 이용
pip install uv
또는 pipx를 이용해 설치할 수도 있습니다:
pipx install uv
Homebrew 이용 (macOS)
brew install uv
Pacman 이용 (Arch Linux)
pacman -S uv
설치 후 다음 명령어를 이용해 설치된 uv의 버전을 확인할 수 있습니다:
uv --version
기본 사용법
uv를 설치한 후, 기본적인 사용법을 소개합니다.
새로운 프로젝트 생성
새로운 프로젝트를 생성하고 초기 파일을 설정하려면 다음 명령어를 사용합니다:
uv init my_project
생성된 디렉토리 내에 pyproject.toml
파일과 몇 가지 필수 파일이 자동으로 생성됩니다.
패키지 추가
프로젝트에 필요한 패키지를 추가하려면 다음 명령어를 사용합니다:
uv add 패키지명
예를 들어, opencv-python
패키지를 추가하려면:
uv add opencv-python
가상환경 생성 및 관리
가상환경을 생성하려면:
uv venv
가상환경을 활성화하려면:
source .venv/bin/activate # macOS/Linux
.venv\Scripts\activate # Windows
가상환경을 비활성화하려면:
deactivate
Python 버전 관리
특정 Python 버전을 설치하려면:
uv python install 3.11
설치된 Python 버전을 확인하려면:
uv python list
설치된 버전을 가상환경에 사용할 때:
uv venv --python 3.12.0
프로젝트 관리 및 의존성 관리
pyproject.toml 파일 생성 및 의존성 설정
pyproject.toml
파일은 프로젝트의 메타데이터와 의존성을 한 곳에 관리하는 파일입니다. 기본 생성된 pyproject.toml
파일은 다음과 같이 생깁니다:
[project]
name = "my_project"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.12"
dependencies = []
의존성 관리
의존성을 추가하면 이 파일이 자동으로 업데이트됩니다. 예를 들어 requests
패키지를 추가하면:
uv add requests
이후 pyproject.toml
파일에 다음과 같이 기록됩니다:
dependencies = [
"requests>=2.25.1",
]
의존성을 제거하려면:
uv remove requests
그룹별 의존성 관리
개발 중에만 필요한 패키지는 --dev
옵션을 사용하여 설치할 수 있습니다:
uv add --dev pytest
이는 pyproject.toml
파일에 다음과 같이 기록됩니다:
[dependency-groups]
dev = [
"pytest>=6.2.1",
]
다양한 Python 버전 관리
uv는 여러 버전의 Python을 설치하고 프로젝트별로 전환할 수 있습니다. 특정 버전을 설치하려면:
uv python install 3.12
또는 여러 버전을 설치하려면:
uv python install 3.10 3.11 3.12
특정 버전을 프로젝트에 사용할 때:
uv python pin 3.11
요약
uv는 속도와 효율성을 중시하는 Python 패키지 및 프로젝트 매니저로, 여러 도구를 하나로 통합하여 의존성 및 가상환경 관리, Python 버전 관리를 손쉽게 할 수 있도록 돕습니다. uv를 사용해 Python 개발 환경을 보다 직관적이고 관리하기 쉽게 만들어보세요.
기타 자세한 내용은 공식 문서 uv 문서에서 확인할 수 있습니다.


