pyproject.toml-Datei für Python
Diepyproject.toml-Datei ist eine moderne Möglichkeit, alle Anforderungen an das Build-System und die Abhängigkeiten deines Projekts in einer einzigen Datei anzugeben. Diese Anleitung zeigt, wie du pyproject.toml erstellst, konfigurierst und verwendest, um Konsistenz zwischen Entwicklungs- und Produktionsumgebungen sicherzustellen.
Was ist eine pyproject.toml-Datei?
Einepyproject.toml listet Abhängigkeiten, das Build-System und weitere Metadaten deines Python-Projekts auf. Das ermöglicht:
- Dir und deinem Team, identische Umgebungen zu pflegen
- Neuen Mitwirkenden, die Umgebung exakt zu reproduzieren
- Entwicklungs- und Produktionsabhängigkeiten getrennt einzurichten
Erstelle die pyproject.toml-Datei
Erstelle zunächst eine Datei namens
pyproject.toml im Stammverzeichnis deines Projekts.Lege die Details deines Projekts fest
Beginne in der
Der Projektname muss aus ASCII-Buchstaben, Ziffern, Unterstrichen „_“, Bindestrichen „-“ und Punkten „.“ bestehen. Er darf nicht mit einem Unterstrich, Bindestrich oder Punkt beginnen oder enden. Zum Beispiel:
pyproject.toml-Datei damit, die Metadaten deines Projekts zu definieren. Wir legen den Projektnamen, die Version, die Beschreibung und weitere relevante Informationen fest.Der Projektname muss aus ASCII-Buchstaben, Ziffern, Unterstrichen „_“, Bindestrichen „-“ und Punkten „.“ bestehen. Er darf nicht mit einem Unterstrich, Bindestrich oder Punkt beginnen oder enden. Zum Beispiel:
pyproject.toml
Liste die Abhängigkeiten des Projekts auf
Als Nächstes listen wir die für unser Projekt erforderlichen Abhängigkeiten auf. Wir können sowohl Entwicklungs- als auch Produktionsabhängigkeiten angeben. Die Produktionsabhängigkeiten werden im Abschnitt
Du kannst Versionen für deine Abhängigkeiten mithilfe von Vergleichsoperatoren wie
dependencies aufgeführt, während Entwicklungsabhängigkeiten unter optional-dependencies mit einem bestimmten Gruppennamen (z. B. dev) aufgeführt werden können.Du kannst Versionen für deine Abhängigkeiten mithilfe von Vergleichsoperatoren wie
==, >=, <… angeben. Im folgenden Beispiel geben wir keine Versionen an. Das bedeutet, dass jeweils die neueste Version installiert wird.
Es wird empfohlen, exakte Versionen anzugeben, um Reproduzierbarkeit sicherzustellen und Fehler durch inkompatible Updates in der Produktion zu vermeiden.pyproject.toml
Richte das Build-System ein
Schließlich müssen wir die Anforderungen an das Build-System angeben. Das ist notwendig, damit Tools wie pip wissen, wie sie dein Projekt bauen und installieren. Wir verwenden
setuptools als Build-Backend, was eine gängige Wahl für Python-Projekte ist, aber du kannst auch andere wie poetry wählen.pyproject.toml
Abhängigkeiten mit pip installieren
Um die in deinerpyproject.toml-Datei aufgeführten Abhängigkeiten zu installieren, kannst du pip oder andere Tools verwenden, die pyproject.toml unterstützen. So kannst du an deinem Projekt arbeiten, während die Abhängigkeiten installiert sind.
pyproject.toml-Datei, installiert die unter dependencies aufgeführten Abhängigkeiten und richtet dein Projekt für die Entwicklung ein. Wenn du auch die Entwicklungsabhängigkeiten installieren möchtest, kannst du Folgendes verwenden:
Best Practices und Tipps:
- Aktuell halten: Überprüfe und aktualisiere
pyproject.tomlregelmäßig, wenn du neue Abhängigkeiten hinzufügst - Exakte Versionen verwenden: Verwende immer
==statt>,>=oder keiner Version, um Überraschungen in der Produktion zu vermeiden - Versionierung: Committe
pyproject.tomlin git, um Änderungen an Abhängigkeiten und Versions-Updates nachzuverfolgen - Isolierte Umgebung: Pflege eine virtuelle Umgebung pro Projekt, um globale Konflikte zu vermeiden
- Lokal testen: Teste die Datei vor dem Deploy mit
pip install .in einer neuen Umgebung
Nächste Schritte
Wenn deinepyproject.toml-Datei konfiguriert ist:
- Committe sie in dein Git-Repository.
- Hoste dein Projekt auf Square Cloud.
- Richte automatischen Deploy über GitHub ein.
- Willkommen beim professionellen Hosting von Python-Anwendungen!
pyproject.toml-Datei ist die Grundlage für jede erfolgreiche Python-Anwendung und stellt sicher, dass deine Anwendung auf Square Cloud einwandfrei funktioniert.
