시작하며
최근 Python 패키지 관리 도구로 uv가 주목받고 있습니다. 기존 pip, venv, poetry 등의 대안을 제공하면서 속도와 효율성을 강조한 도구입니다. 이번에는 uv의 기본적인 사용법을 정리해 보겠습니다.
uv 설치
uv는 설치가 간단합니다. Python이 설치된 환경에서 다음 명령어를 실행하면 됩니다.
pip install uv
설치가 완료되었는지 확인하려면 다음을 실행합니다.
uv --version
지원되는 Python 버전
현재 uv는 Python 3.8 이상에서 동작합니다. 따라서, Python 3.8 미만의 버전에서는 사용할 수 없습니다.
python --version
가상 환경 생성 및 활성화
기존 venv와 비슷하게 가상 환경을 생성하고 사용할 수 있습니다.
uv venv .venv
이후 가상 환경을 활성화하려면:
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows
프로젝트 초기화 (init)
새로운 프로젝트를 시작할 때 uv init을 사용하면 기본 설정 파일이 생성됩니다.
uv init
이 명령어를 실행하면 uv.lock 파일과 pyproject.toml이 생성됩니다.
패키지 설치 및 관리
패키지 추가 (add)
새로운 패키지를 추가하려면 uv add를 사용합니다.
uv add requests
특정 버전의 패키지를 설치하려면:
uv add requests@2.28.1
패키지 동기화 (sync)
uv sync는 종속성을 pyproject.toml과 uv.lock을 기준으로 동기화합니다.
uv sync
패키지 실행 (run)
프로젝트 환경에서 특정 명령어를 실행할 때 uv run을 사용합니다.
uv run python main.py
또한 uv run을 활용하여 스크립트를 실행할 수도 있습니다.
uv run pytest
패키지 관리 (종속성 파일)
requirements.txt 없이도 프로젝트 종속성을 관리할 수 있습니다.
현재 패키지 목록 저장
uv pip freeze > requirements.txt
패키지 일괄 설치
uv pip install -r requirements.txt
uv의 특징
uv는 다음과 같은 특징을 가집니다.
- 빠른 패키지 설치: 기존 pip보다 더 빠르게 패키지를 설치
- venv 대체 가능: uv venv를 통해 가상 환경 관리 가능
- 동일한 pip 인터페이스: 기존 pip 명령어를 그대로 사용할 수 있음
- 효율적인 종속성 관리: uv sync, uv add를 통해 프로젝트 종속성을 손쉽게 유지
- Python 3.8 이상 지원: 최신 Python 환경에서 최적화된 성능 제공
마무리하며
uv는 기존 Python 패키지 관리 도구 대비 빠르고 가볍다는 장점이 있습니다. 아직 생태계가 완전히 자리 잡지는 않았지만, 속도와 사용성을 고려하면 한 번쯤 시도해볼 만한 가치가 있습니다. Python 환경을 더욱 빠르게 설정하고 싶다면, uv를 적극 활용해 보는 것도 좋은 선택이 될 것입니다.