Přejít k hlavnímu obsahu
Python Tooling2026-07-29 · 7 min čtení

uv: Správce balíčků Python, který nahrazuje pip, pip-tools a venv (průvodce 2026)

Pokud jste tento rok strávili nějaký čas v projektu Python, pravděpodobně jste viděli, že se v souboru README nebo CI objevilo uv. Je to správce balíčků napsaný Rustem a nástroj virtualenv od společnosti Astral (stejný tým za ruff) — a je 10-100x rychlejší než klasická kombinace pip / pip-tools / venv.

Tato příručka pokrývá: co vlastně uv nahrazuje, pět příkazů, které pokrývají 95 % toho, co denně děláte, a dva případy, kdy byste měli zůstat u klasických nástrojů.

Co nahrazuje UV

| Klasický nástroj | UV ekvivalent | Zrychlení |

|---|---|---|

| python -m venv .venv | uv venv | ~5x |

| pip install pkg | uv pip install pkg | ~10-50x |

| pip install -r požadavky.txt | uv pip install -r požadavky.txt | 20-100x na studené mezipaměti |

| pip-compile (pip-tools) | "uv pip kompilace" | ~50x |

| python -m venv + aktivace zdroje pro každý projekt | uv run <cmd> | Úplně přeskočí aktivaci |

Rozdíl v rychlosti je skutečný. Instalace umírněného projektu Django (Django + DRF + celer + redis + boto3 + ~40 tranzitivních deps) na chladnou mezipaměť trvá ~45 sekund s pip a ~2 sekundy s uv. Na teplé mezipaměti je uv v podstatě okamžité, protože místo kopírování souborů do každého venv používá globální pevně propojenou mezipaměť.

Pět příkazů, které skutečně použijete

1. Nainstalujte samotný UV

BASH
# macOS + Linux — one line, no sudo, no Python needed curl -LsSf https://astral.sh/uv/install.sh | sh # Windows PowerShell powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" # Or via brew / apt / your package manager (updated frequently) brew install uv

uv je samostatný samostatný binární soubor – žádný bootstrap Pythonu, žádné vlastní závislosti.

2. Vytvořte virtuální prostředí

BASH
cd my-project uv venv # creates .venv/ using the current Python uv venv --python 3.13 # or pin a version — uv will download it if missing

Na rozdíl od python -m venv může uv načíst verzi Pythonu, o kterou jste požádali. Už žádné „pyenv install then venv then activate“ tříkrokový tanec.

3. Nainstalujte balíčky

BASH
uv pip install fastapi httpx # into the current venv uv pip install -r requirements.txt # bulk install uv pip install -e . # editable install of current project

Syntaxe je záměrně totožná s pip — zaměňte pip za uv pip a vše funguje. Náklady na migraci: pět úhozů.

4. Požadavky na zmrazení / kompilaci

BASH
# From an installed venv → requirements.txt (like `pip freeze`) uv pip freeze > requirements.txt # From a loose requirements.in → fully pinned requirements.txt (like pip-compile) uv pip compile requirements.in -o requirements.txt

Krok „kompilace“ je deterministický – stejný vstup, stejný výstup, bajt po bajtu. Ideální pro reprodukovatelné CI.

5. Spusťte příkaz bez aktivace venv

BASH
uv run pytest # runs pytest from the current venv uv run python manage.py migrate # any command, any script uv run --with ipython python # temporarily add ipython for this session

Toto je zabijácká funkce. Už žádné source .venv/bin/activate před každým příkazem. Skvělé v CI, skvělé v Makefiles, skvělé ve skriptech shellu.

Migrace existujícího projektu (2 minuty)

Za předpokladu, že máte soubor requirements.txt:

BASH
# 1. Nuke the old venv rm -rf .venv # 2. Create the uv venv uv venv # 3. Install uv pip install -r requirements.txt # 4. Verify uv run python -c "import fastapi; print(fastapi.__version__)"

Čtyři příkazy, hotovo. Váš soubor requirements.txt není třeba měnit. Váš pyproject.toml se nemusí měnit. Vaše CI se sotva potřebuje změnit – vyměňte krok instalace a máte hotovo.

Nativní cesta pyproject.toml (uv-first projekty)

Pro projekty začínající od nuly použijte nativní pracovní postup společnosti uv – žádný soubor requirements.txt:

BASH
uv init my-project # generates pyproject.toml + .python-version + .gitignore cd my-project uv add fastapi # adds fastapi to pyproject.toml [dependencies] AND installs uv add --dev pytest # adds to dev-dependencies uv sync # installs exactly what pyproject.toml says (uses uv.lock) uv lock --upgrade # bumps every dependency to its latest compatible version

Toto je stejný tvar jako cargo pro Rust nebo npm pro Node – jeden konfigurační soubor, jeden soubor zámku, deterministické instalace. Pokud začínáte znovu v roce 2026, toto je cesta.

Kdy stále používat pip / venv

Dva případy:

1. Starší systémy CI, které nemohou nainstalovat UV. Pokud jste uvízli u agenta Jenkins z roku 2019 bez přístupu k shellu, tření při instalaci UV může převážit nárůst rychlosti. Každý moderní CI systém (GitHub Actions, GitLab CI, CircleCI, BuildKite) má jednořádkový UV instalátor.

2. Prostředí s airgapped s uzamčeným zrcadlem `pip`. uv je výchozí PyPI, ale podporuje --index-url — to obvykle funguje, ale některá podniková zrcadla mají jemné chování (auth headers, JSON API vs Simple API), které uv zpracovává jinak. Otestujte, než se zavážete.

To je vše. Pro každý další případ v roce 2026 – sólo vývoj, týmové projekty, open source, CI, Docker – je uv rychlejší, spolehlivější a vyžaduje menší mentální režii než klasický stack.

30sekundová výměna CI

Před (akce GitHubu):

YAML
- uses: actions/setup-python@v5 with: python-version: '3.13' - run: pip install -r requirements.txt - run: pytest

po:

YAML
- uses: astral-sh/setup-uv@v3 - run: uv sync - run: uv run pytest

CI běží v kroku instalace pokles z ~2 minut na ~15 sekund. Pokud vaše testovací matice běží 5x za PR, je to skutečná kumulativní úspora.


uv je vzácný nástroj, který je obě rychlejší A jednodušší než to, co nahrazuje. Pokud píšete Python pro živobytí v roce 2026, věnujte 10 minut přepínání jednoho projektu. Zvyk se přenese do každého nového projektu, kterého se dotknete.

Další krok: stopa Python DevOps pokrývá uv, ruff, Docker a moderní sadu nasazení Pythonu – 104 interaktivních lekcí.

Jste připraveni to vyzkoušet?

15 lekcí zdarma po bezplatné registraci – žádná karta. Vyzkoušejte platformu a pak se rozhodněte.

Začněte zdarma →

Or unlock every lesson

Pro — $12/mo, unlimited AI, cancel any time. Refund within 14 days worldwide.

See Pro plans →

Get one Python lesson + one career idea every Friday

No spam, no "buy our course now". Three bullets, every Friday. Unsubscribe with one click.