Python Professional Projekt Setup - Entwickle wie ein Profi

Поділитися
Вставка
  • Опубліковано 15 лис 2024

КОМЕНТАРІ • 16

  • @chrizzog.4585
    @chrizzog.4585 2 роки тому +2

    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?

    • @codingcrashkurse6429
      @codingcrashkurse6429  2 роки тому +2

      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 ;-)

    • @chrizzog.4585
      @chrizzog.4585 2 роки тому

      @@codingcrashkurse6429 Danke dir für deine Antwort, über Poetry bin ich auch schon gestolpert, werde ich mal reinschauen müssen 👍🏻

  • @yt7042
    @yt7042 2 роки тому +1

    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.

    • @codingcrashkurse6429
      @codingcrashkurse6429  2 роки тому

      Eigentlich musst du nur in der Pyproject.toml etwas anpassen, der Rest funktioniert komplett identisch.

  • @ScriptRaccoon
    @ScriptRaccoon 2 роки тому

    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?

    • @codingcrashkurse6429
      @codingcrashkurse6429  2 роки тому +2

      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?

    • @ScriptRaccoon
      @ScriptRaccoon 2 роки тому

      @@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 :-)

    • @codingcrashkurse6429
      @codingcrashkurse6429  2 роки тому

      @@ScriptRaccoon Ok, dann sag ich es kurz: Ich würde sowas selbst machen mit Cookiecutter und Typer

    • @codingcrashkurse6429
      @codingcrashkurse6429  2 роки тому +1

      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
    @wintermute3d 2 роки тому

    symlinks?

    • @codingcrashkurse6429
      @codingcrashkurse6429  2 роки тому

      Hm?

    • @wintermute3d
      @wintermute3d 2 роки тому

      @@codingcrashkurse6429 Bei 11:30, hab ich das richtig verstanden?

    • @codingcrashkurse6429
      @codingcrashkurse6429  2 роки тому +1

      @@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.

  • @joyo2122
    @joyo2122 Рік тому

    1a 🤙