Naar hoofdinhoud
Python-tooling2026-07-29 · 7 min leestijd

uv: de Python-pakketbeheerder die pip, pip-tools en venv vervangt (handleiding 2026)

Als je dit jaar enige tijd in een Python-project hebt doorgebracht, heb je waarschijnlijk uv zien verschijnen in een README- of CI-bestand. Het is een door Rust geschreven pakketbeheerder en virtualenv-tool van Astral (hetzelfde team achter ruff) - en het is 10-100x sneller dan de klassieke pip / pip-tools / venv-combinatie.

Deze gids behandelt: wat uv feitelijk vervangt, de vijf opdrachten die 95% van wat u dagelijks doet, en de twee gevallen waarin u zich bij de klassieke hulpmiddelen moet houden.

Wat UV vervangt

| Klassiek gereedschap | uv-equivalent | Versnellen |

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

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

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

| pip install -r vereisten.txt | uv pip install -r vereisten.txt | 20-100x op koude cache |

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

| python -m venv + source activatie voor elk project | uv run <cmd> | Slaat de activering volledig over |

Het snelheidsverschil is reëel. Het installeren van een gematigd Django-project (Django + DRF + selderij + redis + boto3 + ~40 transitieve deps) op een koude cache duurt ~45 seconden met pip en ~2 seconden met uv. Op een warme cache is uv in wezen direct omdat het een globale hard-linked cache gebruikt in plaats van bestanden naar elke venv te kopiëren.

De vijf commando's die je daadwerkelijk gaat gebruiken

1. Installeer uv zelf

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 is een op zichzelf staand binair bestand - geen Python-bootstrap, geen eigen afhankelijkheden.

2. Maak een virtuele omgeving

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

In tegenstelling tot python -m venv kan uv de Python-versie ophalen waar u om vroeg. Geen "pyenv installeren, dan venv en dan activeren" driestapsdans meer.

3. Installeer pakketten

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

De syntaxis is opzettelijk identiek aan pip — ruil pip voor uv pip en alles werkt. Migratiekosten: vijf toetsaanslagen.

4. Vereisten bevriezen/compileren

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

De 'compileer'-stap is deterministisch: dezelfde invoer, dezelfde uitvoer, byte voor byte. Perfect voor reproduceerbare CI.

5. Voer een opdracht uit zonder de 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

Dit is de killer-functie. Geen source .venv/bin/activate meer vóór elke opdracht. Geweldig in CI, geweldig in Makefiles, geweldig in shellscripts.

Een bestaand project migreren (2 minuten)

Ervan uitgaande dat u een requirements.txt heeft:

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__)"

Vier commando's, klaar. Uw requirements.txt hoeft niet te veranderen. Uw pyproject.toml hoeft niet te veranderen. Uw CI hoeft nauwelijks te worden gewijzigd: verwissel de installatiestap en u bent klaar.

Het oorspronkelijke pad van pyproject.toml (uv-eerste projecten)

Voor projecten die helemaal opnieuw beginnen, gebruikt u de eigen workflow van uv - helemaal geen vereisten.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

Dit heeft dezelfde vorm als cargo voor Rust of npm voor Node: één configuratiebestand, één vergrendelingsbestand, deterministische installaties. Als je in 2026 opnieuw begint, is dit het pad.

Wanneer moet je nog pip / venv gebruiken?

Twee gevallen:

1. Oudere CI-systemen die uv niet kunnen installeren. Als u vastzit aan een Jenkins-agent uit 2019 zonder shell-toegang, kan de wrijving bij het installeren van uv groter zijn dan de snelheidswinst. Elk modern CI-systeem (GitHub Actions, GitLab CI, CircleCI, BuildKite) heeft een uv-installatieprogramma van één regel.

2. Airgapped-omgevingen met een vergrendelde `pip`-mirror. uv is standaard ingesteld op PyPI maar ondersteunt --index-url - dit werkt meestal, maar sommige bedrijfsmirrors hebben subtiel gedrag (auth headers, JSON API versus Simple API) dat uv anders verwerkt. Test voordat u zich vastlegt.

Dat is het. Voor elk ander geval in 2026 – solo-ontwikkelaar, teamprojecten, open source, CI, Docker – is uv sneller, betrouwbaarder en vereist minder mentale overhead dan de klassieke stack.

De CI-wissel van 30 seconden

Vóór (GitHub-acties):

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

Na:

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

CI-uitvoeringen nemen af van ~2 minuten naar ~15 seconden tijdens de installatiestap. Als uw testmatrix 5x per PR draait, is dat een echte cumulatieve besparing.


uv is het zeldzame hulpmiddel dat zowel sneller EN eenvoudiger is dan wat het vervangt. Als je in 2026 Python voor de kost schrijft, besteed dan 10 minuten aan het overstappen van één project. De gewoonte zal worden toegepast op elk nieuw project dat u aanraakt.

Volgende stap: de Python DevOps track omvat uv, ruff, Docker en de moderne Python-implementatiestack: 104 interactieve lessen.

Klaar om het te proberen?

15 lessen gratis na een gratis aanmelding — geen kaart. Proef het platform en beslis dan.

Begin gratis →

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.