Python Professional Projekt Setup - Entwickle wie ein Profi

Поделиться
HTML-код
  • Опубликовано: 17 окт 2024

Комментарии • 16

  • @chrizzog.4585
    @chrizzog.4585 Год назад +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

      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 Год назад

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

  • @ScriptRaccoon
    @ScriptRaccoon Год назад

    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

      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 Год назад

      @@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  Год назад

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

    • @codingcrashkurse6429
      @codingcrashkurse6429  Год назад +1

      Hey, ich hab auf Basis deines Vorschlags mal selbst ein package gebaut: ruclips.net/video/te8GCNIcWQ8/видео.html
      Schau mal ob dir das Ding das liefert, was du haben möchtest :)

  • @yt7042
    @yt7042 Год назад +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  Год назад

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

  • @joyo2122
    @joyo2122 Год назад

    1a 🤙

  • @wintermute3d
    @wintermute3d Год назад

    symlinks?

    • @codingcrashkurse6429
      @codingcrashkurse6429  Год назад

      Hm?

    • @wintermute3d
      @wintermute3d Год назад

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

    • @codingcrashkurse6429
      @codingcrashkurse6429  Год назад +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.