uv – Neuer Manager für Python-Pakete, Projekte und Umgebungen
Die Vorteile von Python uv
Python uv (ausgesprochen „you-vee“) ist ein modernes, leistungsfähiges Python-Paket- und Projektmanagement-Tool, das in Rust geschrieben wurde. Es wurde als direkter Ersatz für traditionelle Python-Paketverwaltungen wie pip, pip-tools, virtualenv, pipx und pyenv entwickelt, um Python-Entwicklungsarbeitflows zu vereinfachen und zu beschleunigen.
uv wird von Astral entwickelt, dem Team hinter dem beliebten Python-Linter Ruff, und ist darauf ausgelegt, häufige Probleme im Python-Ökosystem – wie langsame Installationen, Abhängigkeitskonflikte und komplexe Umgebungsverwaltung – durch die Nutzung der Leistungsfähigkeit von Rust und moderner Softwarearchitektur anzugehen.

Wichtige Funktionen von uv
- Hervorragende Geschwindigkeit: uv ist deutlich schneller als traditionelle Tools – typischerweise 8–10-mal schneller als pip ohne Caching und mit einem warmen Cache bis zu 80–115-mal schneller.
- Alles-in-einem-Tool: Kombiniert Paketinstallation, Abhängigkeitsauflösung, Verwaltung virtueller Umgebungen, Python-Versionsverwaltung, Projektgerüstung (Scaffolding) und Skriptausführung in einem einzigen Tool.
- Kompatibilität: Bietet eine pip-kompatible Kommandozeilenschnittstelle, was die Einführung ohne steile Lernkurve erleichtert.
- Robustes Abhängigkeitsmanagement: Stellt präzise Abhängigkeitsauflösung und Lockfile-Unterstützung für reproduzierbare Umgebungen bereit.
- Automatische virtuelle Umgebungen: Erstellt und verwaltet virtuelle Umgebungen automatisch, was den manuellen Einrichtungsaufwand reduziert.
- Plattformsübergreifende Unterstützung: Funktioniert auf macOS, Linux und Windows.
- Standalone-Installation: Kann installiert werden, ohne dass Python oder Rust erforderlich sind, durch die Verwendung eines einfachen Installers oder
curl.

Immer noch unsicher, warum man uv verwenden sollte?
- Leistung: Reduziert die Zeit für die Paketinstallation und die Abhängigkeitsauflösung drastisch.
- Einfachheit: Vereinigt mehrere Tools zu einem einzigen und strafft so die Projekteinrichtung und -verwaltung.
- Zuverlässigkeit: Liefert konsistente, reproduzierbare Umgebungen mit klaren Fehlermeldungen und Konfliktlösung.
- Moderne Standards: Unterstützt
pyproject.tomlfür die Projektkonfiguration und richtet sich damit nach aktuellen Python-Paketierungsstandards.
Anwendungsbeispiele
Lassen Sie uns etwas Aufregendes ausprobieren!
- Starten eines neuen Projekts:
uv init myproject
cd myproject
uv add requests
uv run python script.py
Dies erstellt einen Projektpfad, richtet eine virtuelle Umgebung ein, installiert Abhängigkeiten und führt Skripte in einer isolierten Umgebung aus.
- Verwaltung von Skripten mit Inline-Abhängigkeiten:
uv add --script script.py requests
uv run script.py
uv kann Abhängigkeiten für Einzeldatei-Skripte verwalten, ohne separate Erforderlichkeitsdateien (requirements files).
Vergleich zu traditionellen Tools
| Funktion | uv | pip/virtualenv | Poetry |
|---|---|---|---|
| Geschwindigkeit | Sehr schnell | Langsam | Moderat |
| Virtuelle Umgebungen | Automatisch | Manuell | Automatisch |
| Abhängigkeitsauflösung | Fortgeschritten | Basis | Fortgeschritten |
| Python-Versionsverwaltung | Ja | Nein (erfordert pyenv) | Nein |
| Lockfile-Unterstützung | Ja | Nein (erfordert pip-tools) | Ja |
| Skriptausführung | Integriert | Nein | Begrenzt |
Wie kann ich UV auf meinem System installieren und damit beginnen, es zu verwenden?
Um uv auf Ihrem System zu installieren und zu verwenden, befolgen Sie diese einfachen Schritte:
Installation
- Standalone-Installer (empfohlen)
- Linux/macOS:
curl -LsSf https://astral.sh/uv/install.sh | sh
Oder, wenn Sie wget bevorzugen:
wget -qO- https://astral.sh/uv/install.sh | sh
- Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
- Bestimmte Version: Sie können eine bestimmte Version anfordern, indem Sie sie in die URL aufnehmen, z. B.
https://astral.sh/uv/0.7.15/install.sh.
- Alternative: Installation über pip (falls Python installiert ist)
pip install uv
Hinweis: Diese Methode wird für systemweiten Zugriff weniger empfohlen, es sei denn, Sie wissen, was Sie tun, da sie Ihre systemweite Python-Umgebung überladen kann.
- Installation über pipx (für isolierte, systemweite Installation)
pipx install uv
Diese Methode ist sauberer für globalen Zugriff, wenn Sie bereits pipx verwenden.
Erste Schritte
Um die Installation zu prüfen – Führen Sie aus:
uv
Sie sollten ein Hilfemenü sehen, das bestätigt, dass uv installiert und bereit ist.
Um eine virtuelle Umgebung zu erstellen und zu aktivieren
- Venv erstellen:
uv venv test
- Auf Linux/macOS aktivieren:
source test/bin/activate
- Auf Windows aktivieren:
.\test\Scripts\activate
Jetzt können Sie uv pip install verwenden, um Pakete in dieser Umgebung zu installieren.
Neues Projekt initialisieren
uv init
Dies erstellt eine pyproject.toml und eine .gitignore für Ihr Projekt.
Abhängigkeiten hinzufügen
Paket hinzufügen:
uv add
Dies aktualisiert pyproject.toml und erzeugt/aktualisiert die Lockfile.
Abhängigkeiten synchronisieren
Alle Abhängigkeiten in Ihrer Umgebung installieren:
uv sync
Oder, die pip-kompatible Schnittstelle verwenden:
uv pip install
Dies stellt sicher, dass alle Abhängigkeiten gemäß Ihrer Lockfile installiert sind.
Skripte ausführen
Verwenden Sie:
uv run script.py
Dies verwaltet die Umgebung und Abhängigkeiten für Ihr Skript automatisch.
Shell-Integration (Optional)
Für einen reibungsloseren Workflow können Sie die Shell-Integration in Ihre .zshrc oder .bashrc hinzufügen, um automatisch eine Standard-virtuelle Umgebung zu aktivieren und pip als Alias für uv pip zu setzen.
Mit diesen Schritten ist uv installiert, und Sie sind bereit, Ihre Python-Projekte mit Geschwindigkeit und Leichtigkeit zu verwalten.
Installieren spezifischer Python-Versionen
Sie können uv verwenden, um spezifische Python-Versionen zu installieren und für Ihre Projekte zu verwalten.
- Aktuelle stabile Python-Version installieren:
Dieser Befehl lädt und installiert die neueste verfügbare stabile Python-Version herunter.uv python install - Bestimmte Version installieren:
Dies installiert die neueste Patch-Release von Python 3.12 (z. B. 3.12.3).uv python install 3.12 - Exakte Patch-Version installieren:
Dies installiert exakt Python 3.12.3.uv python install 3.12.3 - Mehrere Versionen installieren:
Dies installiert Python 3.9, 3.10 und 3.11.uv python install 3.9 3.10 3.11 - Version installieren, die einem Zwang entspricht:
Dies ändert die Python-Versionsanforderung des Projekts.uv python install '>=3.8,=3.11"
Zusätzliche Hinweise
Automatische Downloads: Standardmäßig lädt uv erforderliche Python-Versionen automatisch herunter und installiert sie, wenn sie auf Ihrem System nicht gefunden werden.
System-Python: uv kann vorhandene Python-Installationen verwenden, falls vorhanden, oder Sie können erzwingen, dass es das System-Python mit dem --no-managed-python-Flag verwendet.
Aktualisierung: Sie können von uv verwaltete Python-Versionen auf die neueste Patch-Release aktualisieren mit:
uv python upgrade 3.12
Oder alle installierten Versionen aktualisieren:
uv python upgrade
Aktualisierungen über Minder-Versionen hinweg (z. B. von 3.12 auf 3.13) werden nicht unterstützt.
Zusammenfassend bietet uv flexible und leistungsstarke Tools zum Installieren, Verwalten und Verwenden spezifischer Python-Versionen in Ihren Projekten.
Wie entdeckt UV verfügbare Python-Interpreters auf verschiedenen Systemen
UV erkennt verfügbare Python-Interpreters auf verschiedenen Systemen, indem es eine Reihe gut definierter Orte prüft und jeden Kandidaten nach seinen Versionsmetadaten abfragt. So funktioniert es:
- Verwaltete Python-Installationen:
UV sucht zuerst im Verzeichnis, das durch die UmgebungsvariableUV_PYTHON_INSTALL_DIRangegeben wird, wo es seine eigenen verwalteten Python-Versionen speichert. - System-PATH:
Auf macOS und Linux prüft UV nach ausführbaren Dateien namenspython,python3oderpython3.x(wobeixeine Versionsnummer ist) in den Verzeichnissen, die im System-PATHaufgelistet sind. Auf Windows sucht es nachpython.exe. - Windows-spezifische Orte:
Auf Windows prüft UV auch das Windows-Register und Python-Interpreters im Microsoft Store unter Verwendung der Ausgabe vonpy --list-paths. - Virtuelle Umgebungen:
Wenn eine virtuelle Umgebung aktiv oder angegeben ist, prüft UV den Interpreter in dieser Umgebung auf Kompatibilität, bevor er woanders sucht. - Abfrage der Metadaten:
Jeder entdeckte ausführbare Datei wird nach seinen Versionsmetadaten abgefragt. Nur ausführbare Dateien, die der angeforderten Version (oder Versionsbeschränkung) entsprechen, werden berücksichtigt. Nicht ausführbare Dateien werden ignoriert. - Präferenz und Fallback:
Standardmäßig bevorzugt UV systemweite Python-Installationen, aber Sie können dies mit Optionen anpassen, um verwaltete oder ausschließlich verwaltete/systemweite Versionen zu bevorzugen. Wenn kein geeigneter Interpreter gefunden wird, kann UV die erforderliche Version herunterladen und installieren.
Dieser robuste Erkennungsprozess stellt sicher, dass UV den richtigen Python-Interpreter zuverlässig über verschiedene Betriebssysteme und Umgebungen hinweg finden und verwenden kann.
Nützliche Links
- uv-Startseite: https://docs.astral.sh/uv/
- uv-Paket: https://pypi.org/project/uv/
- uv-GitHub: https://github.com/astral-sh/uv/
- Python-Spickzettel
- Conda-Spickzettel
- venv-Spickzettel
- Bash-Spickzettel
- venv-Spickzettel
- Beliebtheit von Programmiersprachen und Frameworks
- Entwickler-Tools-Hub — Spickzettel, CLI-Tools und Entwicklungsworkflows