Uv
UV(Ultraviolet)는 최신 패키지 관리 도구이다.
Rust로 작성된 UV는 기존의 pip, pip-tools, virtualenv 등을 대체할 수 있는 초고속 파이썬 패키지 설치 및 의존성 해결 도구이다.
주요 특징
- 속도: UV는 기존 도구들보다 10-100배 빠른 성능을 자랑한다. 캐시를 사용하지 않을 때도 pip나 pip-tools보다 8-10배 빠르며, 캐시 사용 시 80-115배의 속도 향상을 보인다.
- 다목적성: UV는 pip, pip-tools, virtualenv, pyenv 등 여러 도구의 기능을 단일 바이너리로 통합했다.
- Python 버전 관리: UV를 사용하면 여러 Python 버전을 쉽게 설치하고 관리할 수 있다.
- 프로젝트 관리: pyproject.toml 파일을 사용하여 프로젝트 의존성을 관리한다.
- 스크립트 지원: 단일 파일 스크립트에 대한 의존성 관리와 실행을 지원한다.
설치 및 사용
UV는 다음과 같이 설치할 수 있다:
pip를 통해 설치할 수도 있다:
|
|
기본 사용법
가상 환경 생성:
1
uv venv
패키지 설치:
1
uv pip install <package_name>
의존성 파일 생성:
1
uv pip compile requirements.in -o requirements.txt
프로젝트 실행:
1
uv run <script.py>
UV의 장점
- 성능 최적화: 전역 모듈 캐시를 사용하여 의존성 재다운로드나 재빌드를 최소화한다.
- 디스크 공간 효율성: Copy-on-Write 및 하드링크를 활용하여 디스크 공간 사용을 최적화한다.
- 호환성: 기존 pip 및 pip-tools 워크플로우와 호환되어 쉽게 도입할 수 있다.
- 통합된 도구: 여러 도구의 기능을 하나로 통합하여 개발 환경 설정을 단순화한다.