Ugrás a fő tartalomra
Python Tooling2026-07-29 · 7 perc olvasás

uv: A Python Package Manager, amely felváltja a pip-et, a pip-tools-okat és a venv-t (2026-os útmutató)

Ha ebben az évben egy Python-projektben töltött időt, valószínűleg látta, hogy az „uv” megjelenik egy README vagy CI fájlban. Ez egy Rust által írt csomagkezelő és virtualenv eszköz az Astraltól (ugyanaz a csapat, amely a "ruff" mögött áll) – és 10-100-szor gyorsabb, mint a klasszikus pip / pip-tools / venv kombináció.

Ez az útmutató a következőket tárgyalja: mit helyettesít valójában az uv, az öt parancs, amely a napi tevékenység 95%-át lefedi, és a két eset, amikor ragaszkodnia kell a klasszikus eszközökhöz.

Mit helyettesít az uv

| Klasszikus szerszám | uv egyenértékű | Gyorsítás |

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

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

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

| pip install -r követelmények.txt | uv pip install -r követelmények.txt | 20-100x hideg gyorsítótárban |

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

| python -m venv + forrás aktiválása minden projekthez | uv run <cmd> | Teljesen kihagyja az aktiválást |

A sebességkülönbség valódi. Egy mérsékelt Django projekt (Django + DRF + zeller + redis + boto3 + ~40 tranzitív deps) telepítése hideg gyorsítótárra ~45 másodpercet vesz igénybe pip-vel és ~2 másodpercet uv-val. A meleg gyorsítótáron az uv lényegében azonnali, mert egy globális, merevített gyorsítótárat használ ahelyett, hogy minden egyes venv-be másolná a fájlokat.

A ténylegesen használt öt parancs

1. Telepítse magát az uv-t

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

Az uv egyetlen önálló bináris – nincs Python rendszerindító, nincsenek saját függőségek.

2. Hozzon létre egy virtualenv-t

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

A python -m venv-től eltérően az uv képes lekérni a kért Python verziót. Nincs több "pyenv telepítés, majd venv, majd aktiválás" háromlépéses tánc.

3. Telepítse a csomagokat

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

A szintaxis szándékosan megegyezik a "pip"-vel – cserélje le a "pip"-et "uv pip"-re, és minden működik. Áttelepítési költség: öt billentyűleütés.

4. Követelmények befagyasztása/fordítása

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

A fordítási lépés determinisztikus – ugyanaz a bemenet, ugyanaz a kimenet, bájtonként. Tökéletes reprodukálható CI-hez.

5. Futtasson egy parancsot a venv aktiválása nélkül

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

Ez a gyilkos funkció. Nincs többé source .venv/bin/activate minden parancs előtt. Kiváló CI-ben, nagyszerű Makefiles-ben, nagyszerű shell-szkriptekben.

Meglévő projekt áttelepítése (2 perc)

Feltéve, hogy van egy "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__)"

Négy parancs, kész. A "requirements.txt" fájlt nem kell módosítani. A "pyproject.toml" fájlt nem kell módosítani. A CI-n alig kell változtatni – cserélje ki a telepítési lépést, és kész.

A pyproject.toml natív elérési útja (UV-first projektek)

A nulláról induló projektekhez használja az uv natív munkafolyamatát – egyáltalán nincs követelmény.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

Ez ugyanaz az alak, mint a „cargo” a Rust vagy az „npm” a Node esetében – egy konfigurációs fájl, egy zárfájl, determinisztikus telepítések. Ha 2026-ban újrakezdi, ez az út.

Mikor érdemes még mindig használni a pip / venv-t?

Két eset:

1. Korábbi CI-rendszerek, amelyek nem tudják telepíteni az UV-t. Ha egy 2019-es Jenkins-ügynökhöz ragadt, és nincs shell-hozzáférése, az UV telepítésének súrlódása meghaladhatja a sebességnövekedést. Minden modern CI-rendszer (GitHub Actions, GitLab CI, CircleCI, BuildKite) rendelkezik egysoros UV-telepítővel.

2. Lezárt "pip" tükörrel ellátott légrés környezetek. Az uv alapértelmezés szerint a PyPI-t használja, de támogatja az "--index-url"-t – ez általában működik, de egyes vállalati tükrök finom viselkedésűek (auth fejlécek, JSON API vs. Simple API), amelyeket az uv eltérően kezel. Tesztelj, mielőtt elköteleznéd magad.

Ennyi. 2026-ban minden más esetben – egyéni fejlesztés, csapatprojektek, nyílt forráskód, CI, Docker – az uv gyorsabb, megbízhatóbb, és kevesebb mentális ráfordítást igényel, mint a klasszikus verem.

A 30 másodperces CI-csere

Előtte (GitHub-műveletek):

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

Utána:

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

A CI futtatása ~2 percről ~15 másodpercre csökken a telepítési lépésben. Ha a tesztmátrix PR-onként 5-ször fut, az igazi kumulatív megtakarítás.


Az uv az a ritka eszköz, amely mindkettő gyorsabb ÉS egyszerűbb, mint amit helyettesít. Ha 2026-ban megélhetési Pythont ír, szánjon 10 percet egy projekt átváltására. Ez a szokás minden új projektre kiterjed, amelyet megérint.

Következő lépés: a Python DevOps pálya az uv-t, a ruff-ot, a Dockert és a modern Python-telepítési veremet tartalmazza – 104 interaktív leckét.

Készen áll a kipróbálására?

Ingyenes 15 óra ingyenes regisztráció után – kártya nélkül. Kísérje ki a platformot, majd döntse el.

Kezdje ingyen →

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.