- Performance oder Kompatibilität mit Python sind nicht das Alleinstellungsmerkmal von uv. uv hält sich an die PEPs und ist als Paketmanager für Python durchaus empfehlenswert. Die überraschendste Funktion ist jedoch eine andere.
- Wenn man in Python 3.12 ad-hoc skriptet, muss man häufig Abhängigkeiten wie Pandas hinzufügen. Der übliche Weg sieht so aus:
pip install pandas ausführen und damit die globale Umgebung verändern oder
- eine virtuelle Umgebung erstellen,
pip install pandas ausführen, die virtuelle Umgebung aktivieren und danach Python starten.
- Wenn eine andere Python-Version benötigt wird, muss man mit
pyenv die Version installieren und lokal festlegen. Im schlimmsten Fall:
pyenv install 3.12
pyenv local 3.12
python -m venv .venv
source .venv/bin/activate
pip install pandas
python
- Mit uv geht das in einer einzigen Befehlszeile:
uv run --python 3.12 --with pandas python
- leicht zu merken und hinterlässt keine Spuren. Viel Spaß beim Skripten!
5 Kommentare
Ich nutze immer noch poetry, aber langsam sollte ich wohl wechseln. Dann heißt es wohl auch Abschied von virtualenvwrapper.
Es scheint wirklich an der Zeit zu sein,
piploszulassen.Ich nutze uv insgesamt sehr zufrieden; nur dass bei
initjedes Mal unnötiger Ballast mitkommt, ist ein kleiner Minuspunkt.Uvs Killer-Feature ist, dass sich spontane (ad-hoc) Umgebungen leicht erstellen lassen
Hacker-News-Kommentar
Es gibt die Meinung, dass der Paketmanager
uvsehr gut ist und sich als Standard der Community etablieren sollte. Besonders für neue Nutzer ist er ein empfehlenswertes Tool.uvunterstützt Inline-Skript-Abhängigkeiten nach PEP 723, was eine noch sauberere Nutzung ermöglicht.Aus Sicht eines NodeJS-Entwicklers ist es erstaunlich, dass die Probleme bei der Einrichtung von Python-Umgebungen noch immer nicht gelöst sind. Node ist auch nicht perfekt, aber man muss sich keine Sorgen machen, die globale Umgebung zu verändern.
Die Aktivierung von
virtualenvist nicht nötig, und auch ohne Interpreter-Konfiguration überpyenvkann direkt eine virtuelle Umgebung erstellt werden.Es gibt die Meinung, dass es unpraktisch ist, wenn bei
uvmehrere Funktionen in einem einzigen Tool zum Ausführen zusammengefasst sind. Es ist bequem, einevenvzu aktivieren und ein Programm mehrfach auszuführen.uvkann inklusive des BefehlsuvxPython-Skripte ohne manuelle Installation ausführen.uvx --from 'huggingface_hub[cli]' huggingface-cliJemand mag
uvund möchte es bald ausprobieren, versteht aber den Kernpunkt des Artikels nicht. Auch mitpyenvundpoetrylassen sich lokale Abhängigkeiten einbinden.Falls weitere binäre Abhängigkeiten vorhanden sind, könnten Nix und
virtualenv+pip-toolsdie bessere Wahl sein.Es gibt die Meinung, dass man zuerst die virtuelle Umgebung im „richtigen Pfad“ aktivieren und danach
pandasinstallieren sollte.