Ist es möglich 2 Python Dateien in eine exe zu konvertieren, beim indirekten Ansprechen der Datei (kein import)?
Guten Tag erstmal,
ich versuche aktuell mir ein Python Chatbot für Twitch zu bauen. Dieser Funktioniert ansich schon ziemlich gut. Ich habe aber ein "Problem" bzw. ich hätte etwas gerne anders. Kurz zum Case. Das Projekt selbst besteht aus 2 verschiedenen Dateien. Zum einen eine script.py und eine gui.py. Wie die namen schon sagen, enthält die script.py das Script des eigentlichen Chatbots und die gui.py die dazugehörende Benutzeroberfläche. Die gui startet über ein button das script und gibt die Konsolenausgabe in einem TextEdit Feld (PyQt5) aus.
(Das wird über self.process.start("script.exe") ermöglicht)
Aktuell ist es so, dass ich das Script zuerst zu einer .exe packen muss und dann die gui diese Datei öffnet. Das fertige Programm besteht demnach aus 2 .exe Dateien. Das Problem ist dabei, dass die Zeit, bis das Script ausgeführt wird, relativ hoch ist und die eigentliche Projekt Größe. (Aktuell ca .100 mb).
Ich habe diesen Weg bisher gewählt, weil ein paar Kollegen diesen Bot auch gerne verwenden möchten. Die haben allerdings kein Python installiert, weshalb ein direktes ansprechen der script.py (z.B. self.process.start("python", "script.py"))nicht möglich ist.
Meines Wissens nach werden die notwendigen Bibliotheken für das script in diesem Fall bei der Konvertieren in eine exe nicht mitgenommen. Aktuell verwende ich für das einpacken in eine exe, Auto-py-to-exe.
Nun die Frage:
Gibt es eine Möglichkeit die script.py anzusprechen und sowohl die gui als auch die script.py in nur einer exe komplett auszuführen, ohne das Python installiert werden muss ? Hätte dazu jemand eine Idee?
Entschuldigt bitte ggf. Rechtschreibfehler und fehlende Satzzeichen :D
1 Antwort
Python ist eine Interpretersprache, deswegen ist das Timing beim Start verzerrt und es ist keine einfache Aufgabe py 2 exe zu bringen und dabei die Logik beizubehalten.
Dabei stellt sich für mich die Frage, was ist die Hürde das Projekt noch einmal in VS (C++,C#,VB) nachzuprogrammieren oder verwendest Du Phyton Bibliotheken die es sonnst nicht gibt?
Stand der EXE Welt ist C# und WPF wobei die Oberfläche mit XAML definiert wird und es Propertys gibt die festgelegt werden, es gilt auch hier stikte Trennung von GUI und CODE aber es erfordert Lernbereitschaft sonst gib deinen Leuten eine vernünftige Umgebung mit, am besten Phyton.
Sorry, mir ist bewußt, diese Antwort hilft nicht gleich aber denk mal darüber nach...
KI ist nicht Phyton vorbehalten.
![- (Computer, Technik, programmieren)](https://images.gutefrage.net/media/fragen-antworten/bilder/456358110/0_big.png?v=1653945498000)
Vorteile von VSxxxx kompilierte *.exe Files:
- Einfaches Deployment und umfangreiche Setup Funktionen auch Webdeployment ist möglich.
- Schnelle Produktionsabläufe in MVVP Architektur und Teamorientierte IDE
- Umfangreiche Refractoring Tools und Testumgebungen und Projekttypen
- C# bietet mit Async und Await parallele Prozedurstränge und kann eine Schleife weiterführen während die GUI Schicht aufgebaut wird und die Maus nicht hängenbleibt und auch auf CLICK ON PUSHBUTTON CANCEL
- LinQ, RegEx
Vorteil Phyton:
Alles gibt es als Lib's von Gesichts- und Emmotionserkennung bis hin zur Sprachausgabe in Japanisch. Also AI fähigste Language.
Hackenfuss:
py erfordert einen passende Runtime Interpreter Phyton x.x oder eine Konvertierung in *.exe aber es ist mit Hürden verbunden deswegen bin ich nicht sonderlich bewandert mit py syntax.
erstmal danke für deine Antwort :D Im Prinzip ist der einzige Grund, weshalb ich Python nutze der, dass ich darin bereits ein paar Erfahrungen habe. Anders bei C++ oder C#. Damit hatte ich bisher noch keinerlei Berührungspunkte. Bibliotheken nutze ich eigentlich keine wirklich besondere, weshalb es daher (würde ich so einschätzen) bestimmt schon möglich wäre.
Worin liegt den genau der große unterschied zwischen Python und den anderen Sprachen, abgesehen davon das Python eine Interpreter Sprache ist?