


Wir stellen vor: uv: Python-Paketmanager der nächsten Generation
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.
Erste Schritte
Inhaltsverzeichnis
- Pip-Einschränkungen
- Was ist UV?
- Hauptmerkmale von UV
- Benchmarks
- Installation
- Erstellen virtueller Umgebungen
- Erstellen einer Flaschen-App mit UV
- Python mit UV installieren
- Werkzeuge
- Spickzettel
- Aktuelle Einschränkungen
Pip-Beschränkungen
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.
Was ist UV?
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.
Hauptmerkmale von UV
- ⚖️ Drop-in-Ersatz: Ersetzt nahtlos Pip, Pip-Tools, Virtualenv und andere Tools mit voller Kompatibilität.
- ⚡ Höchste Geschwindigkeit: 10–100x schneller als herkömmliche Tools wie Pip, Pip-Compile und Pip-Sync.
- ? Speicherplatzeffizient: Nutzt einen globalen Cache für die Abhängigkeitsdeduplizierung und spart so Speicherplatz.
- ? Flexible Installation: Installierbar über Curl, Pip oder Pipx, ohne dass Rust oder Python erforderlich sind.
- ? Gründlich getestet: Bewährte Leistung im großen Maßstab mit den 10.000 besten PyPI-Paketen.
- ?️ Plattformübergreifende Unterstützung: Vollständig kompatibel mit macOS, Linux und Windows.
- ? Erweitertes Abhängigkeitsmanagement: Zu den Funktionen gehören das Überschreiben von Abhängigkeitsversionen, alternative Lösungsstrategien und ein Konfliktverfolgungslöser.
- ⁉️ Klare Fehlermeldungen: Erstklassige Fehlerbehandlung stellt sicher, dass Entwickler Konflikte effizient lösen können.
- ? Moderne Python-Funktionen: Unterstützt bearbeitbare Installationen, Git-Abhängigkeiten, direkte URLs, lokale Abhängigkeiten, Einschränkungsdateien und mehr.
- ? Unified Tooling: Kombiniert die Funktionalität von Tools wie Pip, Pipx, Poetry, Pyenv, Twine und mehr in einer einzigen Lösung.
- ?️ Anwendungs- und Skriptverwaltung: Installiert und verwaltet Python-Versionen, führt Skripte mit Inline-Abhängigkeitsmetadaten aus und unterstützt umfassende Projektworkflows.
- ?️ Universelle Sperrdatei: Vereinfacht das Projektmanagement mit konsistenten und portablen Sperrdateien.
- ? Arbeitsbereichsunterstützung: Bewältigt skalierbare Projekte mit Arbeitsbereichsverwaltung im Cargo-Stil.
Benchmarks
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.
Installation
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.
Erstellen virtueller Umgebungen
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
- Führen Sie den folgenden Befehl aus, um die virtuelle Umgebung zu aktivieren.
# On macOS and Linux. source .venv/bin/activate # On Windows. .venv\Scripts\activate
Pakete installieren
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.
Erstellen einer Flaschen-App mit UV
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"
Kolben installieren
Fügen Sie Flask zu Ihren Projektabhängigkeiten hinzu.
%USERPROFILE%\.local\bin
Erstellen Sie die Flask-Anwendung
Erstellen Sie ein neues und schreiben Sie den folgenden Code.
uv venv
Führen Sie die App aus
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.
Python mit UV installieren
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.
Werkzeuge
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.
- Verwenden Sie den folgenden Befehl, um Huggingface_hub mithilfe von UV zu installieren.
uv pip sync requirements.txt # Install dependencies from a requirements.txt file.
- Der folgende Befehl zeigt alle installierten Tools an:
uv init sample-project
Spickzettel
Hier ist ein kurzer Spickzettel für die Durchführung allgemeiner Vorgänge mit UV:
Aktuelle Einschränkungen
Obwohl uv eine schnelle und effiziente Lösung für die Python-Paketverwaltung bietet, weist es einige Einschränkungen auf:
- Unvollständige Pip-Kompatibilität: Obwohl uv einen wesentlichen Teil der Pip-Schnittstelle unterstützt, deckt es noch nicht den gesamten Funktionsumfang ab. Einige dieser Unterschiede sind bewusste Designentscheidungen, während andere darauf zurückzuführen sind, dass sich UV noch in einem frühen Entwicklungsstadium befindet. Einen detaillierten Vergleich finden Sie im Pip-Kompatibilitätsleitfaden.
- Plattformspezifische Anforderungen.txt: Wie pip-compile generiert uv plattformspezifische Anforderungen.txt-Dateien. Dies steht im Gegensatz zu Tools wie Poetry und PDM, die plattformunabhängige poet.lock- und pdm.lock-Dateien erstellen. Daher kann es sein, dass die „requirements.txt“-Dateien von uv nicht über verschiedene Plattformen und Python-Versionen hinweg portierbar sind.
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!
Ressourcen
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Python eignet sich für Datenwissenschafts-, Webentwicklungs- und Automatisierungsaufgaben, während C für Systemprogrammierung, Spieleentwicklung und eingebettete Systeme geeignet ist. Python ist bekannt für seine Einfachheit und sein starkes Ökosystem, während C für seine hohen Leistung und die zugrunde liegenden Kontrollfunktionen bekannt ist.

Python zeichnet sich in Gaming und GUI -Entwicklung aus. 1) Spielentwicklung verwendet Pygame, die Zeichnungen, Audio- und andere Funktionen bereitstellt, die für die Erstellung von 2D -Spielen geeignet sind. 2) Die GUI -Entwicklung kann Tkinter oder Pyqt auswählen. Tkinter ist einfach und einfach zu bedienen. PYQT hat reichhaltige Funktionen und ist für die berufliche Entwicklung geeignet.

Sie können die Grundlagen von Python innerhalb von zwei Stunden lernen. 1. Lernen Sie Variablen und Datentypen, 2. Master -Steuerungsstrukturen wie wenn Aussagen und Schleifen, 3. Verstehen Sie die Definition und Verwendung von Funktionen. Diese werden Ihnen helfen, einfache Python -Programme zu schreiben.

Sie können grundlegende Programmierkonzepte und Fähigkeiten von Python innerhalb von 2 Stunden lernen. 1. Lernen Sie Variablen und Datentypen, 2. Master Control Flow (bedingte Anweisungen und Schleifen), 3.. Verstehen Sie die Definition und Verwendung von Funktionen, 4. Beginnen Sie schnell mit der Python -Programmierung durch einfache Beispiele und Code -Snippets.

Python ist leichter zu lernen und zu verwenden, während C leistungsfähiger, aber komplexer ist. 1. Python -Syntax ist prägnant und für Anfänger geeignet. Durch die dynamische Tippen und die automatische Speicherverwaltung können Sie die Verwendung einfach zu verwenden, kann jedoch zur Laufzeitfehler führen. 2.C bietet Steuerung und erweiterte Funktionen auf niedrigem Niveau, geeignet für Hochleistungsanwendungen, hat jedoch einen hohen Lernschwellenwert und erfordert manuellem Speicher und Typensicherheitsmanagement.

Um die Effizienz des Lernens von Python in einer begrenzten Zeit zu maximieren, können Sie Pythons DateTime-, Zeit- und Zeitplanmodule verwenden. 1. Das DateTime -Modul wird verwendet, um die Lernzeit aufzuzeichnen und zu planen. 2. Das Zeitmodul hilft, die Studie zu setzen und Zeit zu ruhen. 3. Das Zeitplanmodul arrangiert automatisch wöchentliche Lernaufgaben.

Python wird in den Bereichen Webentwicklung, Datenwissenschaft, maschinelles Lernen, Automatisierung und Skripten häufig verwendet. 1) In der Webentwicklung vereinfachen Django und Flask Frameworks den Entwicklungsprozess. 2) In den Bereichen Datenwissenschaft und maschinelles Lernen bieten Numpy-, Pandas-, Scikit-Learn- und TensorFlow-Bibliotheken eine starke Unterstützung. 3) In Bezug auf Automatisierung und Skript ist Python für Aufgaben wie automatisiertes Test und Systemmanagement geeignet.

Python zeichnet sich in Automatisierung, Skript und Aufgabenverwaltung aus. 1) Automatisierung: Die Sicherungssicherung wird durch Standardbibliotheken wie OS und Shutil realisiert. 2) Skriptschreiben: Verwenden Sie die PSUTIL -Bibliothek, um die Systemressourcen zu überwachen. 3) Aufgabenverwaltung: Verwenden Sie die Zeitplanbibliothek, um Aufgaben zu planen. Die Benutzerfreundlichkeit von Python und die Unterstützung der reichhaltigen Bibliothek machen es zum bevorzugten Werkzeug in diesen Bereichen.
