15 Punkte von GN⁺ 2025-01-13 | 5 Kommentare | Auf WhatsApp teilen
  • 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:
    1. pyenv install 3.12
    2. pyenv local 3.12
    3. python -m venv .venv
    4. source .venv/bin/activate
    5. pip install pandas
    6. 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

 
tribela 2025-01-15

Ich nutze immer noch poetry, aber langsam sollte ich wohl wechseln. Dann heißt es wohl auch Abschied von virtualenvwrapper.

 
roxie 2025-01-14

Es scheint wirklich an der Zeit zu sein, pip loszulassen.

 
dongho42 2025-01-14

Ich nutze uv insgesamt sehr zufrieden; nur dass bei init jedes Mal unnötiger Ballast mitkommt, ist ein kleiner Minuspunkt.

 
GN⁺ 2025-01-13
Hacker-News-Kommentar
  • Es gibt die Meinung, dass der Paketmanager uv sehr gut ist und sich als Standard der Community etablieren sollte. Besonders für neue Nutzer ist er ein empfehlenswertes Tool.

  • uv unterstü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 virtualenv ist nicht nötig, und auch ohne Interpreter-Konfiguration über pyenv kann direkt eine virtuelle Umgebung erstellt werden.

  • Es gibt die Meinung, dass es unpraktisch ist, wenn bei uv mehrere Funktionen in einem einzigen Tool zum Ausführen zusammengefasst sind. Es ist bequem, eine venv zu aktivieren und ein Programm mehrfach auszuführen.

  • uv kann inklusive des Befehls uvx Python-Skripte ohne manuelle Installation ausführen.

    • Beispiel: uvx --from 'huggingface_hub[cli]' huggingface-cli
  • Jemand mag uv und möchte es bald ausprobieren, versteht aber den Kernpunkt des Artikels nicht. Auch mit pyenv und poetry lassen sich lokale Abhängigkeiten einbinden.

  • Falls weitere binäre Abhängigkeiten vorhanden sind, könnten Nix und virtualenv + pip-tools die bessere Wahl sein.

  • Es gibt die Meinung, dass man zuerst die virtuelle Umgebung im „richtigen Pfad“ aktivieren und danach pandas installieren sollte.