suchen
HeimBackend-EntwicklungPython-TutorialWir 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

Introducing uv: Next-Gen Python Package Manager
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.

Introducing uv: Next-Gen Python Package Manager
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.

Introducing uv: Next-Gen Python Package Manager
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

Introducing uv: Next-Gen Python Package Manager
Introducing uv: Next-Gen Python Package Manager

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

Introducing uv: Next-Gen Python Package Manager
Führen Sie nach der Installation den Befehl uv im Terminal aus, um zu überprüfen, ob die Installation korrekt durchgeführt wurde.

Introducing uv: Next-Gen Python Package Manager

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.

Introducing uv: Next-Gen Python Package Manager

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.

Introducing uv: Next-Gen Python Package Manager

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"

Introducing uv: Next-Gen Python Package Manager

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.

Introducing uv: Next-Gen Python Package Manager
Introducing uv: Next-Gen Python Package Manager

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.

Introducing uv: Next-Gen Python Package Manager

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.

Introducing uv: Next-Gen Python Package Manager

  • Der folgende Befehl zeigt alle installierten Tools an:
uv init sample-project

Introducing uv: Next-Gen Python Package Manager

Spickzettel

Hier ist ein kurzer Spickzettel für die Durchführung allgemeiner Vorgänge mit UV:

Introducing uv: Next-Gen Python Package Manager

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!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Wie können Sie Elemente an eine Python -Liste anhängen?Wie können Sie Elemente an eine Python -Liste anhängen?May 04, 2025 am 12:17 AM

ToAppendElementStoapythonList, UsTheAppend () methodForsingleElelements, Extend () FormultipleElements, und INSERSt () FORSPECIFIFICEPosition.1) UseAppend () ForaddingOneElementattheend.2) usextend () toaddmultiElementsefficction.3) useInsert () toaddanelementataspeci

Wie erstellt man eine Python -Liste? Geben Sie ein Beispiel an.Wie erstellt man eine Python -Liste? Geben Sie ein Beispiel an.May 04, 2025 am 12:16 AM

TocreateApythonList, usequarebrackets [] andsparateItemswithcommas.1) ListaredynamicandcanholdmixedDatatypes.2) UseAppend (), REME () und SSLICINGFORMIPLUMILATION.3) LISTCOMPRAUMENS

Diskutieren Sie reale Anwendungsfälle, in denen eine effiziente Speicherung und Verarbeitung numerischer Daten von entscheidender Bedeutung ist.Diskutieren Sie reale Anwendungsfälle, in denen eine effiziente Speicherung und Verarbeitung numerischer Daten von entscheidender Bedeutung ist.May 04, 2025 am 12:11 AM

In den Bereichen Finanzen, wissenschaftliche Forschung, medizinische Versorgung und KI ist es entscheidend, numerische Daten effizient zu speichern und zu verarbeiten. 1) In der Finanzierung kann die Verwendung von Speicherzuordnungsdateien und Numpy -Bibliotheken die Datenverarbeitungsgeschwindigkeit erheblich verbessern. 2) Im Bereich der wissenschaftlichen Forschung sind HDF5 -Dateien für die Datenspeicherung und -abnahme optimiert. 3) In der medizinischen Versorgung verbessern die Datenbankoptimierungstechnologien wie die Indexierung und die Partitionierung die Leistung der Datenabfrage. 4) In AI beschleunigen Daten, die Sharding und das verteilte Training beschleunigen, Modelltraining. Die Systemleistung und Skalierbarkeit können erheblich verbessert werden, indem die richtigen Tools und Technologien ausgewählt und Kompromisse zwischen Speicher- und Verarbeitungsgeschwindigkeiten abgewogen werden.

Wie erstellt man ein Python -Array? Geben Sie ein Beispiel an.Wie erstellt man ein Python -Array? Geben Sie ein Beispiel an.May 04, 2025 am 12:10 AM

PythonarraysSureScreeatedusedhearrayModule, nicht gebaute Inlikelisten.1) ImportThearrayModule.2) Spezifizieren Sie die THETYPECODE, z.

Was sind einige Alternativen zur Verwendung einer Shebang -Linie, um den Python -Dolmetscher anzugeben?Was sind einige Alternativen zur Verwendung einer Shebang -Linie, um den Python -Dolmetscher anzugeben?May 04, 2025 am 12:07 AM

Zusätzlich zur Shebang -Linie gibt es viele Möglichkeiten, einen Python -Interpreter anzugeben: 1. Verwenden Sie Python -Befehle direkt aus der Befehlszeile; 2. Verwenden Sie Stapeldateien oder Shell -Skripte. 3.. Verwenden Sie Build -Tools wie Make oder CMake; 4. Verwenden Sie Aufgabenläufer wie Invoke. Jede Methode hat ihre Vor- und Nachteile, und es ist wichtig, die Methode auszuwählen, die den Anforderungen des Projekts entspricht.

Wie wirkt sich die Auswahl zwischen Listen und Arrays auf die Gesamtleistung einer Python -Anwendung aus, die sich mit großen Datensätzen befasst?Wie wirkt sich die Auswahl zwischen Listen und Arrays auf die Gesamtleistung einer Python -Anwendung aus, die sich mit großen Datensätzen befasst?May 03, 2025 am 12:11 AM

ForHandlinglargedatasetsinpython, Usenumpyarraysforbetterperformance.1) Numpyarraysarememory-Effiction und FasterFornumericaloperations.2) meidenunnötiger Anbieter.3) HebelVectorisationFecedTimeComplexity.4) ManagemememoryusageSageWithEffizienceDeffictureWitheseffizienz

Erklären Sie, wie das Speicher für Listen gegenüber Arrays in Python zugewiesen wird.Erklären Sie, wie das Speicher für Listen gegenüber Arrays in Python zugewiesen wird.May 03, 2025 am 12:10 AM

Inpython, listEUSUutsynamicMemoryAllocationWithover-Accocation, whilenumpyarraysalcodeFixedMemory.1) ListSallocatemoremoryThanneded intellig, vereitelte, dass die sterbliche Größe von Zeitpunkte, OfferingPredictableSageStoageStloseflexeflexibilität.

Wie geben Sie den Datentyp der Elemente in einem Python -Array an?Wie geben Sie den Datentyp der Elemente in einem Python -Array an?May 03, 2025 am 12:06 AM

Inpython, youcansspecthedatatypeyFelemeremodelerernspant.1) Usenpynernrump.1) Usenpynerp.dloatp.Ploatm64, Formor -Präzise -Preciscontrolatatypen.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools