Wieder mal ein Top Tutorial 👍🏻 Als Python noob wieder einiges mitgenommen. Allerdings frage ich mich eins: wie ist es denn mit den Packages, trage ich diese manuell ein? Oder gibt es auch etwas wie freeze?
Das ist wirklich eine sehr gute Frage mit der du mich tatsächlich ein wenig auf dem falschen Fuß erwischt hast ;-). Grund dafür ist, dass ich normalerweiße Poetry und nicht setuptools verwende. Dort hat man die Funktion poetry add um packages hinzuzufügen. Dort wird dir ein lockfile erstellt, das die Dependencies auf eine fixe Version pinnt. Bei setuptools gibt es die Möglichkeit dynamische Metadaten mitzugeben, wo man dann doch wieder reine requirements.txt bräuchte. Wirklich toll fände ich das nicht. [tool.setuptools.dynamic] dependencies = {file = [requirements.txt]} Perfekt ist das nicht, aber das ist es in Python sowieso nicht, sonst bräuchte man für so ein setup nicht 100 Files zu verwalten ;-)
Danke für die schnelle Umsetzung meines Video-Wunsches. Die Anforderungen sind ja doch umfangreicher als bei einem Standard Poetry Projekt. Kann man denn beides, Poetry und deine Erweiterungen, zusammenbringen, so dass ich die Poetry Funktionalitäten weiternutzen kann? Ich bin gerade damit warm geworden, nachdem ich früher mit veralteten Projekt-Setups gearbeitet habe.
Danke für den Überblick! Ich bin kein Python-Entwickler, daher eine potenziell dumme Frage: muss man diese ganzen Konfig-Dateien manuell schreiben? Oder gibt es dafür Scaffold-Tools? Zum Vergleich: Wenn ich ein Node-Projekt aufsetze, benutze ich das Kommando npm init. Das erstellt eine package.json mit (unter anderem) den Dependencies und Dev Dependencies. Wenn ich Pakete installiere mit npm install xyz, werden diese automatisch dort hinzugefügt. Gibt es so etwas auch bei Python und der pyproject.toml? Und wie sieht es mit den ganzen anderen Konfig-Dateien aus? Oder gleichen die sich sowieso immer und man benutzt Copy + Paste?
Nicht dass ich wüsste! Auf der Arbeit haben wir ein eigenes Paket entwickelt, dass das macht. Umgesetzt ist es mit Cookiecutter. Besteht Interesse daran, dass ich ein Video dazu mache?
@@codingcrashkurse6429 Danke für die Antwort! Zur Frage: ich hatte nur aus Neugier gefragt und werde wohl in naher Zukunft keine Python-Projekte machen, daher ist bei mir das Interesse für so ein Video nicht so groß. Aber ich vermute mal, dass es andere interessierte Zuschauer geben wird :-)
Hey, ich hab auf Basis deines Vorschlags mal selbst ein package gebaut: ua-cam.com/video/te8GCNIcWQ8/v-deo.html Schau mal ob dir das Ding das liefert, was du haben möchtest :)
@@wintermute3d Ah danke. Sorry wenn man 17 Minuten redet, weiß man nicht mehr jedes Wort. Ja, Symlinks ist nicht ganz korrekt, aber so ähnlich funktioniert es doch?! :-). Das -e steht einfach nur die editable, also editierbar. D.h. du musst nicht bei jeder Codeänderung das Package neu bauen.
Wieder mal ein Top Tutorial 👍🏻 Als Python noob wieder einiges mitgenommen. Allerdings frage ich mich eins: wie ist es denn mit den Packages, trage ich diese manuell ein? Oder gibt es auch etwas wie freeze?
Das ist wirklich eine sehr gute Frage mit der du mich tatsächlich ein wenig auf dem falschen Fuß erwischt hast ;-). Grund dafür ist, dass ich normalerweiße Poetry und nicht setuptools verwende. Dort hat man die Funktion poetry add um packages hinzuzufügen. Dort wird dir ein lockfile erstellt, das die Dependencies auf eine fixe Version pinnt.
Bei setuptools gibt es die Möglichkeit dynamische Metadaten mitzugeben, wo man dann doch wieder reine requirements.txt bräuchte. Wirklich toll fände ich das nicht.
[tool.setuptools.dynamic]
dependencies = {file = [requirements.txt]}
Perfekt ist das nicht, aber das ist es in Python sowieso nicht, sonst bräuchte man für so ein setup nicht 100 Files zu verwalten ;-)
@@codingcrashkurse6429 Danke dir für deine Antwort, über Poetry bin ich auch schon gestolpert, werde ich mal reinschauen müssen 👍🏻
Danke für die schnelle Umsetzung meines Video-Wunsches. Die Anforderungen sind ja doch umfangreicher als bei einem Standard Poetry Projekt. Kann man denn beides, Poetry und deine Erweiterungen, zusammenbringen, so dass ich die Poetry Funktionalitäten weiternutzen kann? Ich bin gerade damit warm geworden, nachdem ich früher mit veralteten Projekt-Setups gearbeitet habe.
Eigentlich musst du nur in der Pyproject.toml etwas anpassen, der Rest funktioniert komplett identisch.
Danke für den Überblick! Ich bin kein Python-Entwickler, daher eine potenziell dumme Frage: muss man diese ganzen Konfig-Dateien manuell schreiben? Oder gibt es dafür Scaffold-Tools? Zum Vergleich: Wenn ich ein Node-Projekt aufsetze, benutze ich das Kommando npm init. Das erstellt eine package.json mit (unter anderem) den Dependencies und Dev Dependencies. Wenn ich Pakete installiere mit npm install xyz, werden diese automatisch dort hinzugefügt. Gibt es so etwas auch bei Python und der pyproject.toml? Und wie sieht es mit den ganzen anderen Konfig-Dateien aus? Oder gleichen die sich sowieso immer und man benutzt Copy + Paste?
Nicht dass ich wüsste! Auf der Arbeit haben wir ein eigenes Paket entwickelt, dass das macht. Umgesetzt ist es mit Cookiecutter. Besteht Interesse daran, dass ich ein Video dazu mache?
@@codingcrashkurse6429 Danke für die Antwort!
Zur Frage: ich hatte nur aus Neugier gefragt und werde wohl in naher Zukunft keine Python-Projekte machen, daher ist bei mir das Interesse für so ein Video nicht so groß. Aber ich vermute mal, dass es andere interessierte Zuschauer geben wird :-)
@@ScriptRaccoon Ok, dann sag ich es kurz: Ich würde sowas selbst machen mit Cookiecutter und Typer
Hey, ich hab auf Basis deines Vorschlags mal selbst ein package gebaut: ua-cam.com/video/te8GCNIcWQ8/v-deo.html
Schau mal ob dir das Ding das liefert, was du haben möchtest :)
symlinks?
Hm?
@@codingcrashkurse6429 Bei 11:30, hab ich das richtig verstanden?
@@wintermute3d Ah danke. Sorry wenn man 17 Minuten redet, weiß man nicht mehr jedes Wort. Ja, Symlinks ist nicht ganz korrekt, aber so ähnlich funktioniert es doch?! :-). Das -e steht einfach nur die editable, also editierbar. D.h. du musst nicht bei jeder Codeänderung das Package neu bauen.
1a 🤙