Heutzutage enden Datenwissenschaftsprojekte nicht mit dem Proof of Idea; Jedes Projekt hat das Ziel, in der Produktion eingesetzt zu werden. Es ist daher wichtig, einen hochwertigen Code zu liefern. Ich arbeite seit mehr als zehn Jahren als Datenwissenschaftler und ich habe festgestellt, dass Junioren normalerweise ein schwaches Maß in der Entwicklung haben, was verständlich ist Kenntnisse in der operativen Entwicklung haben. In dieser Artikelserie möchte ich einige Tipps und gute Praktiken für die Verwaltung eines professionellen Datenwissenschaftsprojekts in Python teilen. Von Python bis Docker mit einem Umweg zu Git werde ich die Werkzeuge vorstellen, die ich jeden Tag verwende.
Neulich erzählte mir ein Kollege, wie er Linux wegen einer falschen Manipulation mit Python neu installieren musste. Er hatte ein altes Projekt wiederhergestellt, das er sich anpassen wollte. Aufgrund der Set up und Deinstallation von Paketen und Änderung der Versionen conflict seine linux-basierte Python-Umgebung nicht mehr funktional: ein Vorfall, der durch die Einrichtung einer virtuellen Umgebung leicht vermieden werden konnte. Es zeigt jedoch, wie wichtig es ist, diese Umgebungen zu verwalten. Glücklicherweise gibt es jetzt ein hervorragendes Werkzeug dafür: UV.
Der Ursprung dieser beiden Buchstaben ist nicht klar. Laut Zanie Blue (einer der Schöpfer):
„Wir haben a in Betracht gezogen Tonne von Namen – Es ist wirklich schwierig, einen Namen ohne Kollisionen an diesem Tag zu wählen, so dass jeder Identify ein Gleichgewicht der Kompromisse conflict. UV wurde uns auf pypi gegeben, ist astralmotiv (dh ultraviolett oder universell) und ist kurz und leicht zu tippen. “
Lassen Sie uns nun ein wenig detaillierter über dieses wunderbare Werkzeug eingehen.
Einführung
UV ist ein moderner, minimalistischer Python -Projekt- und -Paket -Supervisor. Es wurde so konzipiert, dass es so konzipiert wurde, dass es vereinfacht Abhängigkeitsverwaltungvirtuelle Umgebungserstellung und Projektorganisation. UV wurde entwickelt, um gemeinsame Python -Projektprobleme wie Abhängigkeitskonflikte und Umweltmanagement einzuschränken. Ziel ist es, eine glattere, intuitivere Erfahrung zu bieten als herkömmliche Instruments wie die PIP + Virtualenv -Kombination oder den Conda -Supervisor. Es wird angeblich 10- bis 100 -mal schneller als herkömmliche Handler.
Ob für kleine persönliche Projekte oder für die Entwicklung Python UV -Anwendungen für die Produktion sind eine robuste und effiziente Lösung für das Paketmanagement.
Beginnend mit UV
Set up
Um UV zu installieren, empfehle ich, diesen Befehl in einer Shell zu verwenden, wenn Sie Home windows verwenden:
winget set up --id=astral-sh.uv -e
Und wenn Sie auf Mac oder Linux sind, verwenden Sie den Befehl:

Um die korrekte Set up zu überprüfen, geben Sie einfach den folgenden Befehl in einen Terminal ein:
uv model
Schaffung eines neuen Python -Projekts
Mit UV können Sie ein neues Projekt erstellen, indem Sie die Model von Python angeben. Um ein neues Projekt zu starten, geben Sie einfach in ein Terminal ein:
uv init --python x:xx project_name
python x:xx
muss durch die gewünschte Model (z. B. durch die gewünschte Model ersetzt werden python 3.12
). Wenn Sie nicht über die angegebene Python -Model verfügen, kümmert sich UV darum und lädt die richtige Model herunter, um das Projekt zu starten.
Dieser Befehl erstellt und initialisiert automatisch ein Git -Repository mit dem Namen project_name. Es enthält mehrere Dateien:
- A
.gitignore
Datei. Es listet die Elemente des Repositorys auf, die in der Git -Versioning ignoriert werden sollen (es ist grundlegend und sollte für ein Projekt zur Bereitstellung umschreiben). - A
.python-version
Datei. Es zeigt die im Projekt verwendete Python -Model an. - Der
README.md
Datei. Es hat den Zweck, das Projekt zu beschreiben und zu erklären, wie man es benutzt. - A
hiya.py
Datei. - Der
pyproject.toml
Datei. Diese Datei enthält alle Informationen zu Instruments, die zum Erstellen des Projekts verwendet werden. - Der
uv.lock
Datei. Es wird verwendet, um die virtuelle Umgebung zu erstellen, wenn Sie UV verwenden, um das Skript auszuführen (es kann mit dem verglichen werden Erforderliche.txt)
Paketinstallation
So installieren Sie neue Pakete in dieser nächsten Umgebung, die Sie verwenden müssen:
uv add package_name
Wenn die hinzufügen Der Befehl wird zum ersten Mal verwendet, UV erstellt eine neue virtuelle Umgebung im aktuellen Arbeitsverzeichnis und installiert die angegebenen Abhängigkeiten. Ein .venv/ Verzeichnis erscheint. Bei nachfolgenden Läufen verwendet UV die vorhandene virtuelle Umgebung und installiert oder aktualisiert nur die neuen Pakete. Darüber hinaus hat UV einen leistungsstarken Abhängigkeitsresolver. Beim Ausführen der hinzufügen Befehl, UV analysiert das gesamte Abhängigkeitsdiagramm, um einen kompatiblen Satz von Paketversionen zu finden, die alle Anforderungen entsprechen (Paketversion und Python -Model). Schließlich aktualisiert UV nach jedem die Dateien pyproject.toml und uv.lock hinzufügen Befehl.
Um ein Paket zu deinstallieren, geben Sie den Befehl ein:
uv take away package_name
Es ist sehr wichtig, das nicht verwendete Paket aus Ihrer Umgebung zu reinigen. Sie müssen die Abhängigkeitsdatei so minimal wie möglich halten. Wenn ein Paket nicht verwendet wird oder nicht mehr verwendet wird, muss es gelöscht werden.
Führen Sie ein Python -Skript aus
Jetzt wird Ihr Repository initiiert, Ihre Pakete sind installiert und Ihr Code ist bereit, getestet zu werden. Du kannst aktivieren Die erstellte virtuelle Umgebung wie gewohnt, aber es ist effizienter, den UV -Befehl zu verwenden run
:
uv run hiya.py
Die Verwendung des Befehls ausführen garantiert, dass das Skript in der virtuellen Umgebung des Projekts ausgeführt wird.
Verwalten Sie die Python -Versionen
Es wird normalerweise empfohlen, verschiedene Python -Versionen zu verwenden. Wie bereits in der Einführung erwähnt, arbeiten Sie möglicherweise an einem alten Projekt, für das eine alte Python -Model erforderlich ist. Und oft ist es zu schwierig, die Model zu aktualisieren.
uv python checklist
Es ist jederzeit möglich, die Python -Model Ihres Projekts zu ändern. Dazu müssen Sie die Linie ändern erfordert Python im pyproject.toml
Datei.
Zum Beispiel: erfordert Python = „> = 3,9“
Dann müssen Sie Ihre Umgebung mit dem Befehl synchronisieren:
uv sync
Der Befehl überprüft zunächst vorhandene Python -Installationen. Wenn die angeforderte Model nicht gefunden wird, lädt UV sie herunter und installiert sie. UV erstellt auch eine neue virtuelle Umgebung im Projektverzeichnis, die den alten ersetzt.
Die neue Umgebung verfügt jedoch nicht über das erforderliche Paket. Daher müssen Sie nach einem Synchronisierungsbefehl eingeben:
uv pip set up -e .
Wechseln Sie von Virtualenv zu UV
Wenn Sie ein Python -Projekt mit PIP und Virtualenv initiiert haben und UV verwenden möchten, kann nichts einfacher sein. Wenn es keine gibt Anforderungen Datei, Sie müssen Ihre virtuelle Umgebung aktivieren und dann die paket + installierte Model abrufen.
pip freeze > necessities.txt
Dann müssen Sie das Projekt mit UV initieren und die Abhängigkeiten installieren:
uv init .
uv pip set up -r necessities.txt

Verwenden Sie die Werkzeuge
UV bietet die Möglichkeit der Verwendung Werkzeuge über die UV -Werkzeug Befehl. Instruments sind Python -Pakete, die Befehlsschnittstellen für solche liefern HalskrauseAnwesend PytestsAnwesend Mypyusw. Um ein Software zu installieren, geben Sie die Befehlszeile ein:
uv software set up tool_name
Ein Werkzeug kann jedoch verwendet werden, ohne installiert worden zu sein:
uv software run tool_name
Aus Bequemlichkeit wurde ein Alias erstellt: UVXwas äquivalent zu ist UV -Toollauf. Um ein Software auszuführen, geben Sie einfach ein:
uvx tool_name
Abschluss
UV ist ein leistungsstarker und effizienter Python -Paket -Supervisor, der eine schnelle Abhängigkeitsauflösung und -installation bietet. Es übertrifft herkömmliche Instruments wie Pip oder Conda, Machen Sie es zu einer ausgezeichneten Wahl, um Ihre Python -Projekte zu verwalten.
Egal, ob Sie an kleinen Skripten oder großen Projekten arbeiten, ich empfehle Ihnen, UV zu verwenden. Und glauben Sie mir, es auszuprobieren bedeutet, es zu übernehmen.
Referenzen
1 – UV -Dokumentation: https://docs.astral.sh/uv/
2 – UV Github -Repository: https://github.com/astral-sh/uv
3 – Ein toller DataCamp -Artikel: https://www.datacamp.com/tutorial/python-uv