UV (Ultrafast Python Package Installer)
- https://github.com/astral-sh/uv
- Python ํจํค์ง ์ค์น ๋ฐ ํ๊ฒฝ ๊ด๋ฆฌ๋ฅผ ์ํ ์ด๊ณ ์ ๋๊ตฌ
- pip ๋ฐ conda์ ๋์์ผ๋ก Rust๋ก ์์ฑ๋์ด ๋งค์ฐ ๋น ๋ฅธ ์๋๋ฅผ ์ ๊ณต
- Python ํจํค์ง ์ค์น, ๊ฐ์ํ๊ฒฝ ๊ด๋ฆฌ, ์์กด์ฑ ํด๊ฒฐ์ ์ํ ํตํฉ ๋๊ตฌ
UV ์ค์นํ๊ธฐ
# macOS, Linux, WSL์ ์ค์น
curl -sSf https://astral.sh/uv/install.sh | sh
# Windows์ ์ค์น (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Homebrew๋ฅผ ํตํ ์ค์น
brew install uv
Quick Start
uv init example -p 3.10
cd example
uv venv .venv
# ๊ฐ์ํ๊ฒฝ ํ์ฑํ (macOS, Linux, WSL)
source .venv/bin/activate
# Windows
.venv\Scripts\activate
# VSCode๋ก ์ด๊ธฐ
code .
uv add requests
# pyproject.toml ํ์ผ ํ์ธ
# ๊ฐ์ํ๊ฒฝ ๋นํ์ฑํ
deactivate
๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
- ๊ฐ์ํ๊ฒฝ ๋ง๋ค๊ธฐ
uv venv .venv
(ํ์ฌ ๋๋ ํ ๋ฆฌ์ .venv ์ด๋ฆ์ผ๋ก ๊ฐ์ํ๊ฒฝ ์์ฑ)
uv venv .venv --python=3.11
(ํน์ Python ๋ฒ์ ์ผ๋ก ๊ฐ์ํ๊ฒฝ ์์ฑ)
- ๊ฐ์ํ๊ฒฝ ํ์ฑํํ๊ธฐ
source .venv/bin/activate
(macOS/Linux)
.venv\Scripts\activate
(Windows)
- ํจํค์ง ์ค์นํ๊ธฐ
uv pip install requests
(๋จ์ผ ํจํค์ง ์ค์น)
uv pip install -r requirements.txt
(requirements.txt ํ์ผ์์ ํจํค์ง ์ค์น)
- ๊ฐ์ํ๊ฒฝ ๋นํ์ฑํํ๊ธฐ
- ํจํค์ง ๊ด๋ฆฌ
uv pip freeze > requirements.txt
(์ค์น๋ ํจํค์ง ๋ชฉ๋ก ์ ์ฅ)
uv pip list
(์ค์น๋ ํจํค์ง ๋ชฉ๋ก ํ์ธ)
UV์ ์ฅ์
- ์๋: pip๋ณด๋ค ์ต๋ 10-100๋ฐฐ ๋น ๋ฅธ ํจํค์ง ์ค์น ์๋
- ํธํ์ฑ: ๊ธฐ์กด pip ๋ช
๋ น์ด์ ํธํ๋์ด ์ฝ๊ฒ ์ ํ ๊ฐ๋ฅ
- ์์กด์ฑ ํด๊ฒฐ: ํฅ์๋ ์์กด์ฑ ํด๊ฒฐ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ถฉ๋ ์ต์ํ
- ์บ์ฑ: ํจ์จ์ ์ธ ์บ์ฑ์ผ๋ก ๋ฐ๋ณต ์ค์น ์ ์๋ ํฅ์
Conda์ UV ๋น๊ต
๊ธฐ๋ฅ |
Conda |
UV |
์ธ์ด ์ง์ |
๋ค์ํ ์ธ์ด ์ง์ (Python, R, C++ ๋ฑ) |
Python ์ ์ฉ |
์ค์น ์๋ |
๋ณดํต |
๋งค์ฐ ๋น ๋ฆ |
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ |
๋์ |
๋ฎ์ |
๊ฐ์ํ๊ฒฝ ๊ด๋ฆฌ |
๋ด์ฅ ๊ธฐ๋ฅ |
๋ด์ฅ ๊ธฐ๋ฅ |
ํจํค์ง ์์ค |
conda ์ ์ฅ์, PyPI |
PyPI |
๊ตฌํ ์ธ์ด |
Python |
Rust |
ref