Die Entwicklung von Python ist eng mit Fortschritten in der Paketverwaltung verbunden, von manuellen Installationen bis hin zu Tools wie Pip und Poetry. Da Projekte jedoch immer komplexer werden, sind herkömmliche Tools oft nicht mehr so schnell und effizient.
uv ist ein hochmodernes Python-Paket und ein mit Rust erstellter Projektmanager, der das ändern soll. Durch die Kombination der Funktionalität von Tools wie Pip, Poetry und Virtualenv rationalisiert UV Aufgaben wie Abhängigkeitsmanagement, Skriptausführung und Projekterstellung – und das alles mit außergewöhnlicher Leistung. Seine nahtlose Kompatibilität mit Pip-Befehlen erfordert keine zusätzliche Lernkurve.
In diesem Tutorial erfahren Sie, wie Sie UV installieren und seine Funktionen optimal nutzen. Von der Einrichtung eines Projekts und der Verwaltung von Abhängigkeiten bis hin zur Ausführung von Skripten und der Nutzung der erweiterten Pip-Schnittstelle.
Pip ist ein weit verbreitetes, in Python geschriebenes Paketverwaltungssystem, das für die Installation und Verwaltung von Softwarepaketen entwickelt wurde. Trotz seiner Beliebtheit wird es jedoch oft als eines der langsamsten Paketverwaltungstools für Python kritisiert. Beschwerden über „langsame Pip-Installation“ kommen so häufig vor, dass sie häufig in Entwicklerforen und -threads auftauchen.
Ein wesentlicher Nachteil von pip ist seine Anfälligkeit für Abhängigkeitsgerüche, die auftreten, wenn Abhängigkeitskonfigurationsdateien schlecht geschrieben oder verwaltet werden. Diese Probleme können schwerwiegende Folgen haben, wie z. B. eine erhöhte Komplexität und eine verringerte Wartbarkeit von Projekten.
Eine weitere Einschränkung von pip ist die Unfähigkeit, Python-Code bei der Wiederherstellung von Laufzeitumgebungen konsistent genau abzugleichen. Diese Nichtübereinstimmung kann zu einer niedrigen Erfolgsquote bei der Abhängigkeitsinferenz führen, was es schwierig macht, Projektumgebungen zuverlässig neu zu erstellen.
uv ist ein moderner, leistungsstarker Python-Paketmanager, der von den Machern von Ruff entwickelt und in Rust geschrieben wurde. Es wurde als Ersatz für Pip und Pip-Tools entwickelt und bietet außergewöhnliche Geschwindigkeit und Kompatibilität mit vorhandenen Tools.
Zu den wichtigsten Funktionen gehören die Unterstützung bearbeitbarer Installationen, Git- und URL-Abhängigkeiten, Einschränkungsdateien, benutzerdefinierte Indizes und mehr. Die standardkonformen virtuellen Umgebungen von uv funktionieren nahtlos mit anderen Tools und vermeiden so Bindungen oder Anpassungen. Es ist plattformübergreifend, unterstützt Linux, Windows und macOS und wurde ausführlich anhand des PyPI-Index getestet.
UV konzentriert sich auf Einfachheit, Geschwindigkeit und Zuverlässigkeit und behebt häufige Probleme von Entwicklern wie langsame Installationen, Versionskonflikte und komplexes Abhängigkeitsmanagement und bietet eine intuitive Lösung für die moderne Python-Entwicklung.
Quelle: https://blog.kusho.ai/uv-pip-killer-or-yet-another-package-manager
Auflösen (links) und Installieren (rechts) von Abhängigkeiten mithilfe eines Warm-Cache, Simulieren des Prozesses der Neuerstellung einer virtuellen Umgebung oder des Hinzufügens einer neuen Abhängigkeit zu einem vorhandenen Projekt.
Quelle: https://blog.kusho.ai/uv-pip-killer-or-yet-another-package-manager
Das Auflösen (links) und Installieren (rechts) von Abhängigkeiten mit einem kalten Cache simuliert die Ausführung in einer sauberen Umgebung. Ohne Caching ist uv 8–10x schneller als pip und pip-tools und mit einem warmen Cache erreicht es 80–115x schnellere Geschwindigkeiten.
Quelle: https://blog.kusho.ai/uv-pip-killer-or-yet-another-package-manager
Erstellen einer virtuellen Umgebung mit (links) und ohne (rechts) Seed-Pakete wie Pip und Setuptools. uv ist etwa 80x schneller als python -m venv und 7x schneller als virtualenv, und das alles unabhängig von Python.
Die Installation von UV ist schnell und unkompliziert. Sie können sich für eigenständige Installationsprogramme entscheiden oder es direkt von PyPI aus installieren.
# On macOS and Linux. curl -LsSf https://astral.sh/uv/install.sh | sh # On Windows. powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # With pip. pip install uv # With pipx. pipx install uv # With Homebrew. brew install uv # With Pacman. pacman -S uv
Bevor wir UV verwenden, müssen wir den UV-Pfad zu Umgebungsvariablen hinzufügen.
Ändern Sie für Linux und macOS die Umgebungsvariable PATH mit dem folgenden Befehl im Terminal:
export PATH="$HOME/.local/bin:$PATH"
Um unter Windows ein Verzeichnis zur PATH-Umgebungsvariablen für Benutzer und System hinzuzufügen, suchen Sie im Suchfeld nach Umgebungsvariablen. Wählen Sie unter Benutzervariablen/Systemvariablen die Pfadvariable aus, klicken Sie auf Bearbeiten, dann auf Neu und fügen Sie den gewünschten Pfad hinzu.
%USERPROFILE%\.local\bin
Führen Sie nach der Installation den Befehl uv im Terminal aus, um zu überprüfen, ob die Installation korrekt durchgeführt wurde.
Das Erstellen einer virtuellen Umgebung mit UV ist einfach und unkompliziert. Verwenden Sie den folgenden Befehl zusammen mit dem gewünschten Umgebungsnamen, um ihn zu erstellen.
uv venv
# On macOS and Linux. source .venv/bin/activate # On Windows. .venv\Scripts\activate
Die Installation von Paketen in der virtuellen Umgebung erfolgt nach einem vertrauten Prozess. Die verschiedenen Installationsmethoden sind unten aufgeführt.
uv pip install flask # Install Flask. uv pip install -r requirements.txt # Install from a requirements.txt file. uv pip install -e . # Install current project in editable mode. uv pip install "package @ ." # Install current project from disk uv pip install "flask[dotenv]" # Install Flask with "dotenv" extra.
Um die gesperrten Abhängigkeiten mit der virtuellen Umgebung zu synchronisieren, verwenden Sie den folgenden Befehl:
uv pip sync requirements.txt # Install dependencies from a requirements.txt file.
uv unterstützt eine Vielzahl von Befehlszeilenargumenten, die denen bestehender Tools ähneln, einschließlich -r Anforderungen.txt, -c Einschränkungen.txt, -e ., --index-url und mehr.
Lassen Sie uns einige projektbezogene Befehle mit UV erkunden. Beginnen Sie mit der Initialisierung eines Python-Projekts mit dem Namen „sample-project“.
# On macOS and Linux. curl -LsSf https://astral.sh/uv/install.sh | sh # On Windows. powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # With pip. pip install uv # With pipx. pipx install uv # With Homebrew. brew install uv # With Pacman. pacman -S uv
Navigieren Sie zum Beispielprojektverzeichnis. uv initialisiert das Projekt mit wichtigen Dateien wie app.py, require.txt, README.md und mehr.
Verwenden Sie den Befehl „run“, um die Beispiel-Python-Datei auszuführen. Dieser Prozess erstellt zunächst den Ordner der virtuellen Umgebung und führt dann die Python-Datei aus.
export PATH="$HOME/.local/bin:$PATH"
Fügen Sie Flask zu Ihren Projektabhängigkeiten hinzu.
%USERPROFILE%\.local\bin
Erstellen Sie ein neues und schreiben Sie den folgenden Code.
uv venv
Verwenden Sie den Befehl uv run, um die Anwendung auszuführen.
# On macOS and Linux. source .venv/bin/activate # On Windows. .venv\Scripts\activate
Öffnen Sie einen Browser oder verwenden Sie ein Tool wie Curl oder Postman, um eine GET-Anfrage zu senden.
Die Verwendung von uv zur Installation von Python ist optional, da es nahtlos mit vorhandenen Python-Installationen funktioniert. Wenn Sie jedoch die Installation von Python über uv bevorzugen, kann dies mit einem einfachen Befehl erfolgen:
uv pip install flask # Install Flask. uv pip install -r requirements.txt # Install from a requirements.txt file. uv pip install -e . # Install current project in editable mode. uv pip install "package @ ." # Install current project from disk uv pip install "flask[dotenv]" # Install Flask with "dotenv" extra.
Dieser Ansatz ist im Vergleich zu herkömmlichen Methoden oft bequemer und zuverlässiger, da die Verwaltung von Repositorys oder das Herunterladen von Installationsprogrammen entfällt. Führen Sie einfach den Befehl aus und das Setup ist einsatzbereit.
CLI-Tools können mit dem uv-Befehl installiert und verwendet werden. Beispielsweise können die Huggingface_hub-Tools installiert werden, um das Ziehen und Verschieben von Dateien in Hugging Face-Repositorys zu ermöglichen.
uv pip sync requirements.txt # Install dependencies from a requirements.txt file.
uv init sample-project
Hier ist ein kurzer Spickzettel für die Durchführung allgemeiner Vorgänge mit UV:
Obwohl uv eine schnelle und effiziente Lösung für die Python-Paketverwaltung bietet, weist es einige Einschränkungen auf:
Vielen Dank für das Lesen dieses Artikels!!
Vielen Dank an Gowri M Bhatt für die Überprüfung des Inhalts.
Wenn Ihnen dieser Artikel gefallen hat, klicken Sie bitte auf den Herz-Button ♥ und teilen Sie ihn, damit andere ihn finden können!
uv – Ein extrem schneller Python-Paket- und Projektmanager, geschrieben in Rust | docs.astral.sh
Das obige ist der detaillierte Inhalt vonWir stellen vor: uv: Python-Paketmanager der nächsten Generation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!