Engineering Kiosk Episode #234 Python in Electron-Apps mit Dominik & Jochen vom Python-Podcast

#234 Python in Electron-Apps mit Dominik & Jochen vom Python-Podcast

Diese Episode in deiner Podcast-App hören...

Shownotes / Worum geht's?

Electron-Apps mit Python mit Dominik Geldmacher und Jochen Wersdörfer vom Python-Podcast.

Im Engineering-Kiosk-Adventskalender 2025 sprechen befreundete Podcaster⋅innen und wir selbst, Andy und Wolfi, jeden Tag kurz & knackig innerhalb weniger Minuten über ein interessantes Tech-Thema.

Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partners

Das schnelle Feedback zur Episode:

👍 (top)  👎 (geht so)

Anregungen, Gedanken, Themen und Wünsche

Dein Feedback zählt! Erreiche uns über einen der folgenden Kanäle …

Unterstütze den Engineering Kiosk

Wenn du uns etwas Gutes tun möchtest … Kaffee schmeckt uns immer 

Sprungmarken

(00:00:00) Electron-Apps mit Python

Hosts

Community

Diskutiere mit uns und vielen anderen Tech-Spezialist⋅innen in unserer Engineering Kiosk Community unter https://engineeringkiosk.dev/join-discord

 

Transkript

Das Transkript wurde automatisiert per Speech-to-Text erstellt und kann daher Fehler enthalten.

Andy Grunwald (00:00:04 - 00:00:53) Teilen

Willkommen zum Engineering Kiosk Adventskalender. Es ist mal wieder Zeit für ein neues Türchen. Und weil Weihnachten natürlich auch das Fest der Liebe genannt wird, dachten wir uns dieses Lass uns doch mal wieder etwas Liebe mit der deutschsprachigen Tech Podcast Szene teilen. Diese Episode ist eine solche Episode und sie kommt nicht von den Standard Engineering Kiosk Hosts Wolfgang oder mir, mein Name ist Andy, sondern wir lassen uns den Engineering Kiosk mal für einen Tag aus der Hand nehmen. Heute übernimmt ein befreundeter Podcast das Mikro und bringt ihm ein paar neue Perspektiven, ein anderes Thema und vielleicht den ein oder anderen Gedanken, der über unsere eigene Bubble hinausgeht. Wir denken da draußen gibt es großartige Tech Podcasts, die unbedingt mehr Aufmerksamkeit verdienen und wir denken Wissen, Inspiration und gute Geschichten sollte man am besten teilen. Also zurücklehnen, neugierig sein heute mit Dominik und Jochen vom Python Podcast. Los geht's. Viel Spaß.

Dominik Geldmacher (Python Podcast) (00:00:54 - 00:01:01) Teilen

Herr Jochen, ich habe gehört, man kann in Python Electron extra benutzen, damit man Desktop Native Anwendungen hat auf unterschiedlichen Systemen.

Jochen Wersdörfer (Python Podcast) (00:01:01 - 00:01:02) Teilen

Ah ja.

Jochen Wersdörfer (Python Podcast) (00:01:02 - 00:01:03) Teilen

Von wem hast du das denn gehört?

Jochen Wersdörfer (Python Podcast) (00:01:04 - 00:01:23) Teilen

Ja, tatsächlich oder im Allgemeinen ist halt immer so oft ein Problem, wenn man jetzt Python Programme schreibt und die halt irgendwo irgendwie Leuten geben will, wo die dann laufen und Dinge tun, dann will man denen ja nicht erklären, wie man irgendwie einen Python Interpreter installiert und ein Virtual Environment einrichtet und dann die ganzen und die Banane an dem Gorilla dran.

Jochen Wersdörfer (Python Podcast) (00:01:23 - 00:01:28) Teilen

Aus dem Dschungel zieht und so Hölzchen aufs Stöckchen kommt und dann die Wand jax shaven muss. Das wäre alles irgendwie nicht so gut.

Dominik Geldmacher (Python Podcast) (00:01:28 - 00:01:31) Teilen

Das heißt, wir wollen eine Anwendung direkt haben, die man benutzen kann, direkt irgendwie.

Jochen Wersdörfer (Python Podcast) (00:01:31 - 00:01:35) Teilen

Ein Binary geben oder so. Und normalerweise geht das ja mit Python nicht so einfach, oder es gibt da.

Dominik Geldmacher (Python Podcast) (00:01:35 - 00:01:40) Teilen

Auch diverse, weil Python keine komplizierte Sprache ist, wo man einfach so ein Paket erzeugt und das weitergibt.

Jochen Wersdörfer (Python Podcast) (00:01:40 - 00:01:45) Teilen

Ja, weil keine Binaries normalerweise rausfallen hinten irgendwo. Ein anderer Ansatz, den ich jetzt letztens.

Jochen Wersdörfer (Python Podcast) (00:01:45 - 00:01:50) Teilen

Irgendwie näher mir angucken durfte, ist halt einfach eine Electron App draus zu bauen.

Jochen Wersdörfer (Python Podcast) (00:01:50 - 00:01:51) Teilen

Weil das geht relativ einfach.

Dominik Geldmacher (Python Podcast) (00:01:51 - 00:01:53) Teilen

Ah, Electron ist aber gar nicht Python, oder?

Jochen Wersdörfer (Python Podcast) (00:01:53 - 00:01:55) Teilen

Ne, genau, Electron ist, das ist JavaScript.

Jochen Wersdörfer (Python Podcast) (00:01:56 - 00:02:00) Teilen

Oh oh, der Milch und Gewässer.

Jochen Wersdörfer (Python Podcast) (00:02:02 - 00:02:06) Teilen

Es gibt auch noch andere. Es gibt auch sowas, ein Rust geschriebenes Ding, das nennt sich Tauri. Da kriegt man die Binaries auch ein.

Jochen Wersdörfer (Python Podcast) (00:02:06 - 00:02:14) Teilen

Bisschen kleiner, weil man den im System eingebauten Browser benutzt und nicht halt irgendwie Electron Apps. Ein bisschen verschwenderisch, weil Elektron ist ein Browser.

Jochen Wersdörfer (Python Podcast) (00:02:14 - 00:02:16) Teilen

Ja, ne, Electron ist nicht ein Browser.

Jochen Wersdörfer (Python Podcast) (00:02:16 - 00:02:22) Teilen

Aber in einem Electron Binder ist ein Chromium drin, oder? Genau, ist ein Chromium gebundelt sozusagen, was.

Jochen Wersdörfer (Python Podcast) (00:02:22 - 00:02:25) Teilen

Natürlich irgendwie ein Vorteil ist, weil man ist halt nicht darauf angewiesen, dass das.

Jochen Wersdörfer (Python Podcast) (00:02:25 - 00:02:29) Teilen

Halt auf jeder Browserversion funktioniert, sondern halt man die, auf der es funktionieren soll.

Jochen Wersdörfer (Python Podcast) (00:02:29 - 00:02:31) Teilen

Schippt man halt mit, aber hat halt.

Jochen Wersdörfer (Python Podcast) (00:02:31 - 00:02:37) Teilen

Auch so einen Nachteil, dass das halt irgendwie für ein hundert fünfzig bis zwei hundert Megabyte irgendwie allein dafür sorgt, weil.

Jochen Wersdörfer (Python Podcast) (00:02:37 - 00:02:38) Teilen

Das Browser Binary da mit drin ist.

Dominik Geldmacher (Python Podcast) (00:02:38 - 00:02:47) Teilen

Okay, also das heißt, man shippt dann ein Binary, was zwei hundert MB groß ist und dann kann der Nutzer, die Nutzerin, der Kunde, wie auch immer, einfach doppelklicken.

Jochen Wersdörfer (Python Podcast) (00:02:47 - 00:02:48) Teilen

Ja, und dann läuft das einfach, öffnet.

Dominik Geldmacher (Python Podcast) (00:02:48 - 00:02:50) Teilen

Sich ein Binary Browser oder ein Anwendungsfenster.

Jochen Wersdörfer (Python Podcast) (00:02:50 - 00:02:55) Teilen

Das eigentlich muss nicht unbedingt aussehen wie ein Browser. Also ganz viele Anwendungen, die Leute so.

Jochen Wersdörfer (Python Podcast) (00:02:55 - 00:02:58) Teilen

Benutzen, sind tatsächlich Electron, aber dann hast.

Dominik Geldmacher (Python Podcast) (00:02:58 - 00:03:05) Teilen

Du halt Assets, Static Files, die du halt mit tippen kannst, mit reinlegst und dann wird halt dann der Code der Anwendung ausgeführt, was auch ein Django dann sein kann.

Jochen Wersdörfer (Python Podcast) (00:03:05 - 00:03:10) Teilen

Genau, zum Beispiel Django halt bekanntes Webframework für Python und ja, man kann mit.

Dominik Geldmacher (Python Podcast) (00:03:10 - 00:03:11) Teilen

Fast API, kriegt ihr das bestimmt auch.

Jochen Wersdörfer (Python Podcast) (00:03:11 - 00:03:12) Teilen

Hin, aber das geht auch mit Fast.

Jochen Wersdörfer (Python Podcast) (00:03:12 - 00:03:15) Teilen

API oder mit Flask oder sonst irgendwie, völlig egal.

Jochen Wersdörfer (Python Podcast) (00:03:15 - 00:03:23) Teilen

Genau, und deren Datenbank will man natürlich dann vielleicht auch haben und da kann man auch einfach ein sqlite mit schippen und das klappt ganz hervorragend.

Jochen Wersdörfer (Python Podcast) (00:03:23 - 00:03:24) Teilen

Und wenn man das halt gewohnt ist.

Jochen Wersdörfer (Python Podcast) (00:03:24 - 00:03:29) Teilen

Wenn man zum Beispiel Webseiten mit sowas baut wie Django oder Flask oder Fast API oder so, oder wie ich halt.

Jochen Wersdörfer (Python Podcast) (00:03:29 - 00:03:37) Teilen

Mit Django oft, dann dachte ich so, gut, ich habe das nie so wirklich als Möglichkeit in Betracht gezogen, weil ich dachte, puh, das ist bestimmt kompliziert, so.

Jochen Wersdörfer (Python Podcast) (00:03:37 - 00:03:40) Teilen

Python da rein, irgendwie friemeln und dann.

Jochen Wersdörfer (Python Podcast) (00:03:40 - 00:03:42) Teilen

Die ganzen Abhängigkeiten, das Virtual muss man.

Jochen Wersdörfer (Python Podcast) (00:03:42 - 00:03:43) Teilen

Ja da auch irgendwie mit reinbauen, geht das überhaupt?

Jochen Wersdörfer (Python Podcast) (00:03:43 - 00:03:52) Teilen

Und das ist bestimmt viel Arbeit. Und wie ich jetzt festgestellt habe, ist es deutlich weniger Arbeit, als ich dachte. Es ist ein, also du packst sie.

Dominik Geldmacher (Python Podcast) (00:03:52 - 00:04:00) Teilen

Virtual auch einfach mit in den Ordner rein, den du mitschippst und dann hast du ein portable Verzeichnis, was eine Exe hat, auf die man dann linken kann oder eine Binary und die dann benutzt wird.

Jochen Wersdörfer (Python Podcast) (00:04:00 - 00:04:02) Teilen

Man braucht dafür so einen relocatable Python.

Jochen Wersdörfer (Python Podcast) (00:04:02 - 00:04:03) Teilen

Interpreter, den man dann je nach Plattform.

Jochen Wersdörfer (Python Podcast) (00:04:03 - 00:04:07) Teilen

Da reinlegen muss, weil das sind natürlich unterschiedliche Binaries, je nachdem was das für eine Plattform ist.

Dominik Geldmacher (Python Podcast) (00:04:07 - 00:04:08) Teilen

Und geht das auch mit UV?

Jochen Wersdörfer (Python Podcast) (00:04:08 - 00:04:14) Teilen

Ja, also UV macht es unter Umständen einfacher. Also okay, wollen wir die wirklich ganz fiesen kleinen Details?

Jochen Wersdörfer (Python Podcast) (00:04:14 - 00:04:18) Teilen

Ich finde das total spannend. Okay, ja, UV ist auch noch nicht.

Jochen Wersdörfer (Python Podcast) (00:04:18 - 00:04:27) Teilen

So alt, das Projekt, aber irgendwie auch ein Rust geschrieben, heute alles in Rust geschrieben, ist quasi inzwischen der Standard Paketmanager und auch Standard Tool, um sich Python überhaupt zu installieren für die meisten Leute.

Dominik Geldmacher (Python Podcast) (00:04:27 - 00:04:31) Teilen

Also könnt ihr Pip schmeißen, Pi schmeißen, alle wie, aber das nur am Rande.

Jochen Wersdörfer (Python Podcast) (00:04:31 - 00:04:44) Teilen

Und das baut halt auch Virtual Envs und macht das sehr schnell und gut und so. Aber das Problem dabei ist so ein bisschen, also ja, das kann man verwenden, Das funktioniert halt auch, wenn man das Virtual Env nicht noch irgendwie anpassen muss, weil wenn man in dem UV Virtual.

Jochen Wersdörfer (Python Podcast) (00:04:44 - 00:04:46) Teilen

Env rumpfuscht, dann kann es sein, dass.

Jochen Wersdörfer (Python Podcast) (00:04:46 - 00:04:46) Teilen

Es nicht mehr geht.

Dominik Geldmacher (Python Podcast) (00:04:46 - 00:04:48) Teilen

Aber wer fuscht denn mit einem Virtual View?

Jochen Wersdörfer (Python Podcast) (00:04:49 - 00:04:50) Teilen

Das sind dann so Dinge, die ich dann tun musste.

Dominik Geldmacher (Python Podcast) (00:04:50 - 00:04:53) Teilen

Aber warum wollte irgendwas Monkey patchen, weil irgendwas nicht funktioniert.

Jochen Wersdörfer (Python Podcast) (00:04:53 - 00:05:09) Teilen

Also wenn du zum Beispiel so einen kompletten Data Science Stack mitschippen willst, das ist natürlich auch so was ich meine, so einen kompletten Data Science Stack, wenn du den halt auf dem Windows installieren willst, das ist kein Spaß so richtig. Das ist so eher, das geht schon, Das geht schon. Okay, du hast Erfahrung damit. Ich hab immer, wenn ich es versucht.

Jochen Wersdörfer (Python Podcast) (00:05:09 - 00:05:11) Teilen

Habe, ich dann irgendwann in der Haft aufgegeben.

Dominik Geldmacher (Python Podcast) (00:05:11 - 00:05:14) Teilen

Das Hauptproblem bei Data Science Projekten ist meistens, dass sie irgendwelche Requirements.

Dominik Geldmacher (Python Podcast) (00:05:15 - 00:05:28) Teilen

Die nichts mit dem tatsächlichen Projekt zu tun haben, weil die Subdependencies haben, die ein Outdated sind oder auf bestimmten Python Versionen nicht so funktionieren, wie du erwartest, weil die Wheels davon noch nicht gebaut worden sind, wo man dann die Pakete mit dem Fortran Compiler und der Banane und dem Zoo installieren muss.

Jochen Wersdörfer (Python Podcast) (00:05:29 - 00:05:31) Teilen

Wenn dir irgendwie die Fehlermeldung sagt, ja.

Jochen Wersdörfer (Python Podcast) (00:05:31 - 00:05:36) Teilen

Jetzt, also Entschuldigung, ich brauche jetzt aber wirklich dringend einen Fortran Compiler auf dem Windows, dann. Also ich würde mal sagen, die meisten.

Jochen Wersdörfer (Python Podcast) (00:05:36 - 00:05:39) Teilen

Leute geben dann an dieser Stelle auf, weil das ist halt einfach dann das.

Jochen Wersdörfer (Python Podcast) (00:05:40 - 00:05:41) Teilen

Die meisten sagen, ja gut, das möchte.

Jochen Wersdörfer (Python Podcast) (00:05:41 - 00:05:44) Teilen

Ich in meinem Leben nicht haben, das muss jemand anders machen und dann ist vorbei.

Jochen Wersdörfer (Python Podcast) (00:05:44 - 00:05:52) Teilen

Aber manchmal wäre es ja schon voll cool, so einen kompletten Data Science Deck in einem Windows oder einem Jupyter Notebook unter Windows halt zu haben und lokal.

Jochen Wersdörfer (Python Podcast) (00:05:52 - 00:05:53) Teilen

Laufen lassen zu können.

Jochen Wersdörfer (Python Podcast) (00:05:53 - 00:06:20) Teilen

Das wäre voll cool und das geht auch und das geht auch in der Electron App so, dass du halt das in der Electron App benutzen kannst. Aber das Problem ist, manche von den Bibliotheken, die halt dann gelinkt werden, zum Beispiel von irgendwelchen Data Science Requirements, sind halt auf dem Standard Windows in der falschen, veralteten Version oder einer komischen Version oder gar nicht mit drin. Und da muss man die aus dem Bildsystem irgendwie da in das Virtual Ad mit reinkopieren und dann dafür sorgen, dass die Dinger dagegen gelingt sind und da rumpfuschen. Und wenn man das macht, dann sagt.

Jochen Wersdörfer (Python Podcast) (00:06:20 - 00:06:25) Teilen

Einem so, ey, du hast hier irgendwie ganz komische Sachen gemacht, ne, das starte ich nicht so, das geht nicht.

Jochen Wersdörfer (Python Podcast) (00:06:26 - 00:06:32) Teilen

Also man kann sich ein relativ leicht kaputt machen und deswegen benutze ich kein.

Jochen Wersdörfer (Python Podcast) (00:06:32 - 00:06:34) Teilen

UV in dem Projekt.

Dominik Geldmacher (Python Podcast) (00:06:36 - 00:06:41) Teilen

Die Link Version kann man ändern, also welche, ob er links benutzt oder direkte Links oder nicht linked oder sowas.

Jochen Wersdörfer (Python Podcast) (00:06:41 - 00:06:45) Teilen

Vielleicht wenn man Spezial Windows Fähigkeiten hat, kann man das auch noch irgendwie in Ordnung bringen.

Jochen Wersdörfer (Python Podcast) (00:06:45 - 00:06:51) Teilen

Das mag sein, aber ich habe dann irgendwie nach einem halben Tag oder einem Tag irgendwie aufgegeben, nicht hingekriegt.

Dominik Geldmacher (Python Podcast) (00:06:51 - 00:07:05) Teilen

Okay, wie auch immer. Jedenfalls hast du wundervolle Pakete, die kannst du mitschüppen, den ganzen Stack da reingepackt und man kann dann Projekte, die aussehen wie eine native Anwendung, die eigentlich eine Webanwendung sind, lokal auf den Rechnern laufen lassen, die tolle Sachen machen mit so.

Jochen Wersdörfer (Python Podcast) (00:07:05 - 00:07:08) Teilen

Einem kompletten Data Science Stack, wo man halt irgendwie so wirklich wilde Sachen macht.

Dominik Geldmacher (Python Podcast) (00:07:08 - 00:07:24) Teilen

Und hübschem Frontend, wenn man das will und so weiter. Genau, und das dann lokale Maschine benutzen, weil das Python ja dann lokal läuft auf der Maschine oder sogar natürlich, wenn das freigeschaltet ist und der Netzwerk irgendwie Verkehr frei ist, auch irgendwie Server ansprechen natürlich weitere darauf warten und das schön animieren oder visualisieren.

Jochen Wersdörfer (Python Podcast) (00:07:24 - 00:07:27) Teilen

Genau. Und was auch noch sehr cool ist, ist vielleicht noch zum Schluss, wenn man.

Jochen Wersdörfer (Python Podcast) (00:07:27 - 00:07:33) Teilen

Die Binaries baut, da denkt man sich jetzt, okay, aber wenn ich jetzt Mac Binaries bauen will, dann brauche ich ja irgendwie einen Mac habe ich jetzt gar.

Jochen Wersdörfer (Python Podcast) (00:07:33 - 00:07:44) Teilen

Nicht oder müssen wir den irgendwie mieten oder so und das dann darauf bauen oder ich brauche für Windows halt ein Windows oder so. Nein, braucht man alles nicht. Wenn man zum Beispiel GitHub Runner verwendet mit so GitHub Actions, in denen kann.

Jochen Wersdörfer (Python Podcast) (00:07:44 - 00:07:46) Teilen

Man die Electron App bauen und da.

Jochen Wersdörfer (Python Podcast) (00:07:46 - 00:07:48) Teilen

Gibt es Mac Runner und halt auch.

Jochen Wersdörfer (Python Podcast) (00:07:48 - 00:07:49) Teilen

Windows Runner, einfach so kostenlos.

Dominik Geldmacher (Python Podcast) (00:07:50 - 00:07:56) Teilen

Cool, dann kann ich meine ganze Anwendung direkt komplett dann auch als Paket zusammenschüren lassen, dann habe ich den Download.

Jochen Wersdörfer (Python Podcast) (00:07:56 - 00:07:58) Teilen

Oder du kannst dir am Schluss die Binaries runterladen und verbreiten.

Jochen Wersdörfer (Python Podcast) (00:08:00 - 00:08:04) Teilen

Musst dafür nicht extra noch Windows oder Mac dir irgendwo besorgen.

Jochen Wersdörfer (Python Podcast) (00:08:05 - 00:08:06) Teilen

Also wie gesagt, der ganze Prozess war.

Dominik Geldmacher (Python Podcast) (00:08:06 - 00:08:11) Teilen

Deutlich einfacher als Python und Electron ist da so ein winning Team, würde ich sagen, für so ein Anwending.

Jochen Wersdörfer (Python Podcast) (00:08:11 - 00:08:12) Teilen

Ja, also es ist schon groß und.

Jochen Wersdörfer (Python Podcast) (00:08:12 - 00:08:15) Teilen

Cool, komisch und bloated und so, das muss man auch sagen.

Jochen Wersdörfer (Python Podcast) (00:08:15 - 00:08:20) Teilen

Das schon, aber man kann damit, wenn man sonst gedacht hätte, das geht gar nicht.

Jochen Wersdörfer (Python Podcast) (00:08:20 - 00:08:21) Teilen

Damit geht es vielleicht schon.

Dominik Geldmacher (Python Podcast) (00:08:21 - 00:08:25) Teilen

Ja, genau. Also wenn ihr für eure Großeltern oder im Corporate Umfeld irgendwas machen wollt, dann.

Jochen Wersdörfer (Python Podcast) (00:08:25 - 00:08:30) Teilen

Ist das genau das richtige Corporate. Gut, dann frohe Weihnachten.

Andy Grunwald (00:08:30 - 00:09:09) Teilen

Genau, hier ist wieder Andi vom Engineering Kiosk. Das war es auch schon wieder mit dem heutigen Adventskalendertürchen, präsentiert von unseren Freunden aus der deutschsprachigen Tech Podcast Szene. Wenn dir gefallen hat, was du gehört hast, hör unbedingt doch mal dort rein. Supportet die Leute, die gute Inhalte machen. Die Links zum Episodent Thema, aber auch zu dem Podcast findet ihr natürlich wie immer in den Shownotes. Und wenn du Lust hast, dich mit ganz vielen Gleichgesinnten auszutauschen, schau doch mal in unserer Engineering Kiosk Discord Community vorbei. Dort hängen Entwickler und Entwicklerinnen, Architektinnen, Datenmenschen und Technerds aller Art rum, genau wie du, genau wie Wolfgang, genauso wie ich. Ihr wisst schon, was ich. Wir hören uns bei der nächsten Episode wieder. Bis dahin, frohe Weihnachten und eine wunderbare Adventszeit.

Jochen Wersdörfer (Python Podcast) (00:09:09 - 00:09:10) Teilen

Bis bald.