CPN 한국어 자습서 · 외부 문서 한국어 미러
UV 문서 · Introduction
uv · 원문: docs.astral.sh/uv/
아래는 원문을 한국어로 옮긴 미러입니다. 코드·명령은 원문 그대로이며, 가장 최신 정보는 하단 원문 링크에서 확인하세요.
Rust로 작성된 매우 빠른 Python 패키지(package) 및 프로젝트(project) 관리자입니다.
pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv 등을 대체하는 단일 도구(tool)입니다.pip보다 10-100배 빠릅니다."curl 또는 pip로 설치할 수 있습니다.uv는 Ruff의 제작사 Astral이 지원합니다.
공식 단독 설치 프로그램으로 uv를 설치합니다.
macOS 및 Linux:
$ curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
PS> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
pip, Homebrew 등 다른 방법으로도 설치할 수 있습니다. 모든 설치 옵션은 설치 페이지를 참조하세요.
uv는 락파일(lockfile), 워크스페이스(workspace) 등을 지원하며 프로젝트 의존성과 환경을 관리합니다.
$ uv init example Initialized project `example` at `/home/user/example` $ cd example $ uv add ruff Creating virtual environment at: .venv Resolved 2 packages in 170ms Built example @ file:///home/user/example Prepared 2 packages in 627ms Installed 2 packages in 1ms + example==0.1.0 (from file:///home/user/example) + ruff==0.5.4 $ uv run ruff check All checks passed! $ uv lock Resolved 2 packages in 0.33ms $ uv sync Resolved 2 packages in 0.70ms Checked 1 package in 0.02ms
uv로 관리되지 않는 프로젝트도 uv를 통해 빌드하고 배포할 수 있습니다.
uv는 단일 파일 스크립트의 의존성과 환경을 관리합니다.
새 스크립트를 만들고 의존성을 선언하는 인라인 메타데이터를 추가합니다.
$ echo 'import requests; print(requests.get("https://astral.sh"))' > example.py
$ uv add --script example.py requests
Updated `example.py`
그런 다음 격리된 가상환경(virtual environment)에서 스크립트를 실행합니다.
$ uv run example.py Reading inline script metadata from: example.py Installed 5 packages in 12ms <Response [200]>
uv는 Python 패키지로 제공되는 커맨드라인 도구를 실행하고 설치합니다.
uvx를 사용하여 임시 환경에서 도구를 실행합니다.
$ uvx pycowsay 'hello world!'
Resolved 1 package in 167ms
Installed 1 package in 9ms
+ pycowsay==0.0.0.2
"""
------------
< hello world! >
------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
uv tool install로 도구를 설치합니다.
$ uv tool install ruff Resolved 1 package in 6ms Installed 1 package in 2ms + ruff==0.5.4 Installed 1 executable: ruff $ ruff --version ruff 0.5.4
uv는 Python을 설치하고 버전 간 빠른 전환을 지원합니다.
여러 Python 버전을 설치합니다.
$ uv python install 3.10 3.11 3.12 Searching for Python versions matching: Python 3.10 Searching for Python versions matching: Python 3.11 Searching for Python versions matching: Python 3.12 Installed 3 versions in 3.42s + cpython-3.10.14-macos-aarch64-none + cpython-3.11.9-macos-aarch64-none + cpython-3.12.4-macos-aarch64-none
필요에 따라 Python 버전을 다운로드합니다.
$ uv venv --python 3.12.0 Using CPython 3.12.0 Creating virtual environment at: .venv Activate with: source .venv/bin/activate $ uv run --python pypy@3.8 -- python Python 3.8.16 (a9dbdca6fc3286b0addd2240f11d97d8e8de187a, Dec 29 2022, 11:45:30) [PyPy 7.3.11 with GCC Apple LLVM 13.1.6 (clang-1316.0.21.2.5)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>>
현재 디렉터리에서 특정 Python 버전을 사용합니다.
$ uv python pin 3.11 Pinned `.python-version` to `3.11`
uv는 일반적인 pip, pip-tools, virtualenv 명령의 드롭인(drop-in) 대체 도구로, 의존성 버전 오버라이드(override), 플랫폼 독립적 해석, 재현 가능한 해석, 대안적 해석 전략 등의 고급 기능을 제공합니다.
플랫폼 독립적인 requirements 파일로 요구사항을 컴파일합니다.
$ uv pip compile requirements.in \ --universal \ --output-file requirements.txt Resolved 43 packages in 12ms
가상환경을 생성합니다.
$ uv venv Using CPython 3.12.3 Creating virtual environment at: .venv Activate with: source .venv/bin/activate
잠긴(locked) 요구사항을 설치합니다.
$ uv pip sync requirements.txt Resolved 43 packages in 11ms Installed 43 packages in 208ms + babel==2.15.0 + black==24.4.2 + certifi==2024.7.4 ...
첫 번째 단계를 확인하거나 가이드로 바로 이동하여 uv를 사용해 보세요.
원문(영어): https://docs.astral.sh/uv/ · 본 문서는 학습용 한국어 번역이며 원본의 권리는 원저작자(Astral)에게 있습니다.
원문(영어): https://docs.astral.sh/uv/