„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Beherrschen Sie das Python-Projektmanagement mit uv PartEs ist Zeit, Poesie hinter sich zu lassen

Beherrschen Sie das Python-Projektmanagement mit uv PartEs ist Zeit, Poesie hinter sich zu lassen

Veröffentlicht am 04.11.2024
Durchsuche:829

Mastering Python Project Management with uv PartIt

Sind Sie es leid, mit mehreren Tools wie Pip, Virtualenv, Conda, Poetry und Pyenv zu jonglieren, nur um Ihre Python-Umgebungen und Abhängigkeiten unter Kontrolle zu halten? Du bist nicht allein! Das Verwalten von Python-Projekten kann Kopfschmerzen bereiten, insbesondere angesichts der vielen verschiedenen Paketmanager und Tools, mit denen Sie sich herumschlagen müssen.

Geben Sie uv ein – die Universal Virtualenv. Betrachten Sie es als einen One-Stop-Shop-Paketmanager, der Ihren Python-Entwicklungsprozess rationalisieren und beschleunigen soll.


Eine kleine Hintergrundgeschichte

uv lässt sich von Rye, einem weiteren modernen Verpackungsmanager, inspirieren, um die besten Funktionen von Pip, Pip-Tools, Pyenv, Virtualenv und Poetry zu vereinen. Mit Rust erstellt, ist uv nicht nur schnell, sondern auch äußerst effizient und vereinfacht alles von der Verwaltung von Abhängigkeiten bis zur Erstellung virtueller Umgebungen.

Das Ziel von UV

Kurz gesagt geht es bei UV um Konsolidierung. Warum zwischen mehreren Tools wechseln, wenn Sie ein einheitliches Erlebnis haben können? Ziel ist es, die Reibung bei der Python-Entwicklung zu beseitigen und Ihnen eine konsistentere und schnellere Möglichkeit zur Verwaltung Ihrer Projekte zu bieten. Und es ist auch noch rasend schnell! Das öffnet neue Türen, für dynamisches Management


1. Portabler Code mit Inline-Skript-Metadaten

Reden wir über Abhängigkeiten

Eine der aufregendsten Funktionen von uv ist die Möglichkeit, Abhängigkeiten direkt in Ihrem Python-Skript hinzuzufügen. Stellen Sie sich vor, Sie haben ein einfaches Skript wie dieses:

# app.py
import requests
from rich.pretty import pprint

response = requests.get("https://peps.python.org/api/peps.json")
data = response.json()
pprint([(k, v["title"]) for k, v in data.items()][:10])

Das Ausführen dieses Skripts bedeutet normalerweise das Einrichten einer virtuellen Umgebung und das manuelle Installieren von Abhängigkeiten. Mit uv können Sie alle Ihre Abhängigkeiten direkt in das Skript einbetten, wodurch es eigenständig und gemeinsam nutzbar wird:

$ uv add --script app.py 'requests



Automatische Metadatengenerierung

Dadurch werden Metadaten zur Skriptdatei hinzugefügt:

# /// script
# dependencies = [
#   "requests



Und das ist es! Sie können diese Datei mit jemand anderem teilen und dieser kann einfach Folgendes ausführen:

$ uv run app.py

Und voilà – keine externe Einrichtung erforderlich! Alles dank der Geschwindigkeit und Effizienz von UV.


2. Erstellen und Verwalten virtueller Umgebungen

Erste Schritte mit virtuellen Umgebungen

Standardmäßig erfordert UV die Installation von Paketen in virtuellen Umgebungen, um Ihr System sauber zu halten und Konflikte zwischen verschiedenen Projekten zu vermeiden. Das Erstellen einer virtuellen Umgebung mit UV ist einfach:

$ uv venv

Dadurch wird ein .venv-Verzeichnis erstellt, das die isolierte Umgebung enthält. Wenn Sie ein benutzerdefiniertes Verzeichnis oder eine Python-Version angeben möchten, können Sie Folgendes tun:

$ uv venv my_env --python 3.9

Die Umgebung ist einsatzbereit und UV erkennt sie automatisch für alle Ihre Befehle, wie das Installieren von Paketen oder das Ausführen von Skripts.

Wann sollte uv add vs. uv pip install verwendet werden?

  • Verwenden Sie uv add: Wenn Sie Abhängigkeiten zur pyproject.toml-Datei Ihres Projekts hinzufügen möchten. Dies ist am besten geeignet, wenn Sie ein Projekt entwickeln und alle Abhängigkeiten im Auge behalten möchten, damit das Projekt leicht geteilt und reproduzierbar ist. Wir werden dies im nächsten Beitrag behandeln, bleiben Sie dran!

    $ uv add fastapi
    

    Dadurch wird Ihr pyproject.toml aktualisiert und die Version in uv.lock gesperrt.

  • Verwenden Sie uv pip install: Wenn Sie Pakete zur schnellen Verwendung installieren möchten, ohne die Projektdatei zu ändern, oder für globale Tools, bei denen Sie sie nicht in einer pyproject.toml nachverfolgen müssen. Stellen Sie sich UV-Pip als eine sofortige, einmalige Installation vor.

    $ uv pip install requests
    

Die Auswahl des richtigen Befehls stellt sicher, dass Ihr Projekt ordnungsgemäß verwaltet und einfach geteilt oder bereitgestellt werden kann.


3. Sperren Sie Versionen zur Reproduzierbarkeit

Ist Ihr Code jemals aufgrund von Updates kaputt gegangen?

Das haben wir alle schon erlebt – Ihr Code funktioniert heute, stürzt aber morgen ab, weil ein Paket aktualisiert wird. Mit uv können Sie dies verhindern, indem Sie Paketversionen sperren, um Konsistenz und Reproduzierbarkeit sicherzustellen:

[tool.uv]
exclude-newer = "2023-10-16T00:00:00Z"

Auf diese Weise bleibt Ihr Projekt stabil, auch wenn neue Versionen Ihrer Abhängigkeiten herauskommen. Perfekt für Langzeitprojekte, bei denen Sie sich keine Überraschungen leisten können!


4. Python-Versionen verwalten

Unterschiedliche Projekte, unterschiedliche Python-Versionen? Kein Problem!

Viele Entwickler müssen an mehreren Projekten arbeiten, die unterschiedliche Python-Versionen erfordern. uv macht das Wechseln der Versionen so einfach wie:

$ uv python install 3.8 3.9 3.10

Sobald die Versionen installiert sind, ist der Wechsel zwischen ihnen nahtlos:

$ uv run --python 3.10 app.py

Und wenn Sie eine bestimmte Version für ein Projekt sperren möchten:

$ uv python pin 3.9

Kein Jonglieren mehr mit Pyenv-Befehlen – uv übernimmt die ganze schwere Arbeit für Sie.


5. Verabschieden Sie sich von Ärger

Es ist Pip – aber schneller und besser

uv bietet ein Pip-ähnliches Erlebnis, aber mit turbogeladener Leistung. Die Installation von Paketen ist unkompliziert:

$ uv pip install flask

Müssen Sie optionale Abhängigkeiten hinzufügen oder direkt von einem GitHub-Repo installieren? Kein Problem:

$ uv pip install 'torch>=1.10.0' "git https://github.com/astral-sh/ruff"

Kein Warten mehr auf langsame Installationen – uv erledigt die Arbeit schnell und effektiv.


6. CLI-Tools global und einfach verwalten

Von Schwarz bis Krause: Holen Sie sich Ihre Werkzeuge problemlos

Egal, ob Sie Code linten oder Dateien formatieren, uv macht die Installation von CLI-Tools einfach:

  • Global:

    $ uv tool install ruff
    
  • Lokal innerhalb eines Projekts:

    $ uv add ruff
    
  • Kurzfristige Befehle ausführen, ohne sie global zu installieren:

    $ uvx black my_code.py
    

Verabschieden Sie sich von Paketkonflikten und Umweltverschmutzung – führen Sie Ihre Tools einfach aus, wann und wo immer Sie sie benötigen.


Wenn Sie Ihre Python-Entwicklung vorantreiben möchten und sich nicht mehr mit mehreren Tools herumschlagen wollen, ist uv Ihre Antwort. Mit seinen optimierten Befehlen, reproduzierbaren Umgebungen und der effizienten Paketverwaltung macht uv die Python-Entwicklung zu einem Vergnügen und nicht zu einer lästigen Pflicht.

Bereit für eine Spritztour mit UV-Licht? ? Starten Sie noch heute und erleben Sie eine bessere Möglichkeit, Ihre Python-Projekte zu verwalten.


Seien Sie gespannt auf Teil 2, in dem wir uns eingehender mit erweiterten Funktionen wie der Nutzung von pyproject.toml, dem Umgang mit globalen vs. lokalen Toolinstallationen und der Frage befassen, wie UV Ihr bester Freund bei der Verwaltung komplexer Umgebungen sein kann.

Viel Spaß beim Codieren! ?✨

Weitere Details und eine vollständige Dokumentation finden Sie in der UV-Dokumentation.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/thomas_bury_b1a50c1156cbf/mastering-python-project-management-with-uv-part1-its-time-to-ditch-poetry-3bi0?1 Wenn es einen Verstoß gibt, bitte Kontaktieren Sie Study_golang@163 .comdelete
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3