Aktuelle Empfehlung für Python Build Umgebung
Verfasst: Montag 24. Mai 2021, 19:26
Ich beschäftige mich gerade etwas intensiver damit, wie man seine Python Build Umgebung strukturiert.
Mein letztes größeres Python Projekt habe ich noch mit "virtualenv" und "setuptools" gebaut - aber da hat sich ja einiges getan.
Ich beschreibe im Folgenden einmal meine aktuellen Erkenntnisse - vielleicht gibt es ja an der einen oder anderen Stelle noch Empfehlungen für Alternativen (mit Begründung):
1. „Virtualisierung“ der Python Version über pyenv
Das scheint mir aktuell die einzige Variante zu sein, wie man einfach unterschiedliche Python Versionen in seiner Entwicklungsumgebung nutzen kann.
Außerdem funktiontiert das mit pipenv.
2. „Virtualisierung“ der installierten Pakete im Projekt über pipenv
Das scheint mir der empfohlene Nachfolger von virtualenv oder venv zu sein.
3. PEP 517 Konforme Festlegung der Build-Chain über pyproject.toml
4. Deklarative Nutzung von Setuptools als Build Werkzeug. Hier gibt es wohl auch einige Alternativen, aber da habe ich noch nicht die Zeit gefunden, mich damit zu beschäftigen.
Als Alternative für 1. und 2. hatte ich auch schon einmal mit dem Gedanken gespielt, mir einen Docker-Container mit der entsprechenden Python Version und den benötigten Bibliotheken zu installieren, finde die Lösung mit 1. und 2. aber mehr „Python“-typisch.
Habt Ihr dazu noch Empfehlungen oder vielleicht auch Alternativvorschläge.
Viele Grüße
Stefan
Mein letztes größeres Python Projekt habe ich noch mit "virtualenv" und "setuptools" gebaut - aber da hat sich ja einiges getan.
Ich beschreibe im Folgenden einmal meine aktuellen Erkenntnisse - vielleicht gibt es ja an der einen oder anderen Stelle noch Empfehlungen für Alternativen (mit Begründung):
1. „Virtualisierung“ der Python Version über pyenv
Das scheint mir aktuell die einzige Variante zu sein, wie man einfach unterschiedliche Python Versionen in seiner Entwicklungsumgebung nutzen kann.
Außerdem funktiontiert das mit pipenv.
2. „Virtualisierung“ der installierten Pakete im Projekt über pipenv
Das scheint mir der empfohlene Nachfolger von virtualenv oder venv zu sein.
3. PEP 517 Konforme Festlegung der Build-Chain über pyproject.toml
4. Deklarative Nutzung von Setuptools als Build Werkzeug. Hier gibt es wohl auch einige Alternativen, aber da habe ich noch nicht die Zeit gefunden, mich damit zu beschäftigen.
Als Alternative für 1. und 2. hatte ich auch schon einmal mit dem Gedanken gespielt, mir einen Docker-Container mit der entsprechenden Python Version und den benötigten Bibliotheken zu installieren, finde die Lösung mit 1. und 2. aber mehr „Python“-typisch.
Habt Ihr dazu noch Empfehlungen oder vielleicht auch Alternativvorschläge.
Viele Grüße
Stefan