Python 3.5 Code in .exe Datei

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Ich weiß, dass ich zu 3.7 updaten kann, aber ich habe auf meinem RasPi3 auch nur 3.5 und so kann ich wenigstens auf beiden Geräten programmieren, ohne auf dem anderen Gerät vllt was überarbeiten zu müssen, wegen möglichen Unterschieden beider Versionen.

Naja, also ich habe es gerade mit "Auto_Py_To_Exe" geschafft, nach einigen Anläufen. ^^
Aber wenn ich die Anwendung starten möchte (mittels doppel-klick auf die Anwendung) wird mir mein Programm nicht angezeigt, obwohl "Auto_Py_To_Exe" keine Warnung für mögliche Probleme oder so angab.
Woran liegt das?
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@xXSkyWalkerXx1: wie oft soll man Dir noch sagen, dass wenn Du keine Informationen lieferst, Du keine Antwort bekommen kannst. Woher soll irgendjemand wissen, was Du gemacht hast und was dann nicht so funktioniert, wie Du Dir das vielleicht denkst? Source-Code, Einstellungen, EXE-Datei hier posten, vielleicht tut sich das ja jemand an, nach dann nach dem Fehler zu suchen.
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Ja, wollte ja auch eigentlich die Datei hier hochladen, aber hier gibt's ja keine Möglichkeit eine Datei anzuhängen.
Aber dann ist mir ja DropBox eingefallen: <link kommt gleich>
Benutzeravatar
__blackjack__
User
Beiträge: 13112
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@xXSkyWalkerXx1: Was passiert wenn Du die Anwendung nicht per Doppelklick startest, sondern über die Konsole? Werden da Fehlermeldungen ausgegeben?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Also, hier erstmal der Link: https://www.dropbox.com/sh/mbwy91v4xyl1 ... xI5ca?dl=0
Hab Gefühl, dass "Py_2_Exe" manchmal Macken hat, weshalb es gerade zur Verspätung kam.

Zu deiner Frage: es öffnet dann nur erneut die Konsole, im neuen Fenster, mehr nicht, aber der zeigt auch nichts weiter in dieser.


PS. Beim Download kann es sein, dass der AntiVirus anspringt, das ist normal und angeblich bei jeder .exe Datei , erzeugt durch Py_2_Exe.
GuardDog

Hi,

wie wäre es damit: Du lädst die neuste Python-Version (oder eine deiner Wahl) herunter. Bei der Installation achtest du darauf dass "add Python 3.x to PATH" und "Disable PATH length limit" (<- Am ende der Installation) angehakt sind. Dann probier nochmal "pip install pyinstaller". Wenn pyinstaller installiert ist, gehe mit 'cd Pfad\zur\Datei' zur Datei und führe dann "pyinstaller namedesprogramms.py" aus.

Grüße
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

GuardDog hat geschrieben: Sonntag 30. Dezember 2018, 17:48 Dann probier nochmal "pip install pyinstaller".
Dann aber besser mit py -m pip install pyinstaller machen, damit die neue Version auch wirklich benutzt wird. Alternativ alle älteren Python-Versionen vorher runterschmeißen.
Benutzeravatar
DeaD_EyE
User
Beiträge: 1021
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

xXSkyWalkerXx1 hat geschrieben: Sonntag 30. Dezember 2018, 13:26 Ich weiß, dass ich zu 3.7 updaten kann, aber ich habe auf meinem RasPi3 auch nur 3.5 und so kann ich wenigstens auf beiden Geräten programmieren, ohne auf dem anderen Gerät vllt was überarbeiten zu müssen, wegen möglichen Unterschieden beider Versionen.
  • du darfst async und await nicht mehr als Namen verwenden
  • du darfst einen Generator nicht mit StopIteration beenden, statdessen return verwenden
Viel mehr inkompatible Änderungen fallen mir momentan nicht ein. Du kannst jetzt fast überall in der stdlib Path-Objekte verwenden.
Vorher musste man den Pfad immer mit der Funktion str in Strings umwandeln, was etwas komisch im Code aussah.

Wenn du Python 3.7.2 auf dem Raspberry Pi verwenden willst, hast du verschiedene Möglichkeiten:
Wenn man selbst kompiliert kann das 30 Minuten oder länger dauern. Die Geschwindigkeit der SD-Karte ist ausschlaggebend.
So kannst du dann auch die neuste Python-Version auf deinem Raspberry Pi verwenden. Alle gängigen Bibliotheken sind kompatibel. (bis auf Tensorflow)
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Okay, also ich habe folgendes herausgefunden:
- wenn ich ein konsolenbasiertes Programm umwandel funktioniert es - .exe Datei startet Konsole, etc.
- eine UI (nicht konsolenbasiert) funktioniert widerrum nicht - es wird kein UI angezeigt (in dem Falle wurde Tkinter verwendet).
__deets__
User
Beiträge: 14542
Registriert: Mittwoch 14. Oktober 2015, 14:29

Was passiert, wenn du die Anwendung von der Konsole aus startest? Bekommst du dann eine Fehlermeldung? Denn grundsaetzlich geht so etwas.
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Ja, vergessen mit dazu zu schreiben:
Beim Start von der Konsole aus passiert auch nichts, die Datei wird geladen - dieses Ladekreis Symbol wird angezeigt, dann verschwindet es und nichts weiter passiert.
Nirgends eine (Fehler)Meldung oder sonst was.
Benutzeravatar
__blackjack__
User
Beiträge: 13112
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

In der Windowskonsole gestartete Programme führen zu einem Ladekreissymbol? Bekommst Du denn den Prompt zurück nachdem „nichts“ passiert?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Hoppla, tut mir leid, war mit den Gedanken teils bei der Ausführung mittels Mausklicks, ich korrigier mich:

Start über Mausklick: Das Ladekreissymbol wird angezeigt und verschwindet kurz darauf wieder - danach passiert scheinbar nichts weiter...
Start über Konsole: Ich gebe "start [Pfad des Prog.]" in die Konsole ein, Cursor wird auf neue Zeile gesetzt, also es führt das Prog. aus, aber das UI wird trotzdem nicht angezeigt.

Ich werde mal die .py Datei erneut umwandeln lassen, aber als Konsolenbasiert und werde noch eine print - Funtkion schnell einfügen, um zu sehen, ob das wenigstens funktioniert, denn eine reine Konsolenanwendung funktioniert komischerweise.
UPDATE: In der Konsole wird der Text (selbstgewählter) zwar angezeigt, aber die Konsole selbst verschwindet nach kurzer Zeit wieder. Allerdings finde ich im Taskmanager ein Abbildname "pythonw.exe" - mein Programm vllt?
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Shit, keiner 'ne Idee? :D
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@xXSkyWalkerXx1: Du hast irgendeine Abhängigkeit nicht mit in Deine exe gepackt. Da Du aber bisher noch nicht geschrieben hast, mit welcher Konfiguration Du das erstellt hast, kann man Dir nicht helfen. Erster Schritt ist, das Ding mit python.exe statt mit pythonw.exe zu packen und in der Konsole zu starten, dass man die Fehlermeldung sieht.
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Über AutoPy2Exe sieht der PyInstaller Befehl so aus: " pyinstaller -y -F -w "C:\Users\Philipp\Desktop\Eigene_Programme\test\UserInterface.py "
Sprich: Datei ("F") , Fensterbasierend ("w" für Window) und ??? ("y").

Hilft dir das oder soll ich lieber gleich Screenshots machen?

Und bezüglich das Ganze in einer python.exe statt einer pythonw.exe zu packen, bringt scheinbar auch nichts, wenn du damit meinst, das UI in eine konsolenbasierte Anwendung umzuwandeln, statt in einer
nicht-konsolenbasierte, denn da öffnet es mir kurz die Konsole, welches aber nach kurzer Zeit auch wieder verschwindet und es passiert weiterhin nichts.
Benutzeravatar
__blackjack__
User
Beiträge: 13112
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@xXSkyWalkerXx1: *Du* sollst die Konsole öffnen und dann erst *darin* das Programm starten. Dann verschwindet die Konsole auch nicht, sondern Du kannst hoffentlich darin lesen was das Problem ist.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

na das -w muß weg, damit Du die Fehlermeldung sehen kannst.
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Ich habe zum Testen jeweils eine python.exe und eine pythonw.exe über die Konsole gestartet - es kam bei beiden keine Fehlermeldung.
Benutzeravatar
__blackjack__
User
Beiträge: 13112
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@xXSkyWalkerXx1: Die Frage ist was ausgegeben wird wenn Du das mit PyInstaller zusammengepackte Programm startest.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten