Python Spiel nach Umwandlung in .exe auf PC laufen lassen ohne Python?

3 Antworten

Ich denke nicht, dass es daran liegt. Das ist ja der Sinn hinter dem Umwandeln mit auto-py-to-exe, dass der andere PC eben nicht Python installiert haben muss.

Siehe auch: https://nitratine.net/blog/post/issues-when-using-auto-py-to-exe/#is-python-needed-when-running-the-output-executable

Bild zum Beitrag

============

Läuft dein PC vielleicht mit 64 bit und der PC bei dem es nicht läuft mit 32 bit? Dann könnte das beispielsweise daran liegen.

Siehe beispielsweise auch: https://nitratine.net/blog/post/issues-when-using-auto-py-to-exe/#the-exe-doesnt-work-on-another-computer

Bild zum Beitrag

 - (Python, Programmiersprache, cmd)  - (Python, Programmiersprache, cmd)
mihisu  22.04.2023, 14:24

Ansonsten ist „klappt nicht“ zu ungenau... Was klappt denn nicht?

Wie lautet die Fehlermeldung, wenn es eine gibt? (Das gehört ja schließlich zum Programmieren mit dazu: Fehlermeldungen lesen und richtig interpretieren können.)

Woran erkennst du, dass es nicht klappt, wenn es keinen Fehler mit Fehlermeldung gibt? Also: Inwiefern weicht das Resultat vom erwarteten Resultat ab?

Gegebenenfalls schau mal in die folgenden Hinweise zum Debugging: https://nitratine.net/blog/post/issues-when-using-auto-py-to-exe/#debugging

0
Killig 
Fragesteller
 22.04.2023, 15:24

Hab nachgefragt. Beide PCs laufen ebenfalls mit 64 Bit. Nur Windows 11. Könnte es daran liegen?

0
mihisu  22.04.2023, 15:35
@Killig

Ja, könnte sein, muss aber nicht sein. [Ich halte es für eher unwahrscheinlich. Aber es könnte sein. Kann ich aber aus der Ferne mit den vorliegenden Informationen nicht beurteilen, da ich das Programm und eure Maschinen nicht kenne.]

Was gibt es denn für Fehlermeldungen? Ich halte es für unwahrscheinlich, dass es überhaupt keine Fehlermeldungen gibt, wenn das Programm abstürzt. [Vielleicht nicht sofort ersichtlich, wenn man die Exe einfach so startet. Gegebenenfalls eine Konsole [cmd, powershell, etc.] öffnen und das darüber starten.]

0
Killig 
Fragesteller
 22.04.2023, 19:17

Problem gelöst. Mithilfe von cmd in die entsprechende Ordnerstruktur (in meinem Fall F:\Dev\Python\Game) wo auch die Python Datei abgelegt wurde, mitsamt den Ordern für Images oder Sounds und dann folgenden Befehl in cmd eingeben:

python -m PyInstaller <Name des Scripts>.py --exclude-module _bootlocale
Dann wird im Ordner Game, wo ihr zuvor reingegangen seid, 2 Ordner erstellt.

"dist" und build". In dist befindet sich dann die ausführbare .exe

0

Dieses Problem kann man vermeiden wenn man die EXE-Datei mit pyinstaller erstellt.

Dazu installiert man sich zuerst das pyinstaller-Modul für Python. Und so geht man vor: Unter Windows die Eingabeaufforderung als Administrator starten und folgenden Befehl eingeben:

  • pip3 install pyinstaller

Wenn das abgeschlossen ist, die Eingabeaufforderung schließen. Dann geht man in den Ordner wo man sein Python-Programm abgespeichert hat und ruft von dort die Eingabeaufforderung auf. Dann gibt man folgenden Befehl ein:

  • pyinstaller --onefile programmname.py

Die Kompilierung wird nun gestartet. Wenn das abgeschlossen ist, findet man 3 Unterordner: build dist und __pycache__ Im Ordner dist findet man die EXE-Datei. Diese ist dann ohne Python selbstständig lauffähig. Auch auf anderen Computern mit Windows.

Optional hat man dann noch die Möglichkeit die erstellte EXE-Datei mit dem Tool Inno Setup https://jrsoftware.org/isinfo.php in einen Installationspaket (setup.exe) zu verpacken. Ideal wenn man sein Programm weitergeben möchte. Der Nutzer kann das dann einfach installieren. Dabei wird ein Eintrag ins Startmenü erstellt und in der Systemsteuerung ein Deinstallationseintrag so das man es wieder entfernen kann.

Killig 
Fragesteller
 22.04.2023, 18:42

Danke für die Hilfe, aber wenn ich (python -m) pyinstaller --onefile <Name>.py hinschreibe, bekomm ich ohne das 'python -m' die Meldung "pyinstaller ist entweder falsch geschrieben oder konnte nicht gefunden werden.'
Mit dem "python -m" vor dem pyinstaller ... bekomme ich die Meldung, dass "No mudel named pyinstaller". Hast du eine Ahnung? Hab pyinstaller schon neuinstalliert

0
Killig 
Fragesteller
 22.04.2023, 18:50
@mnlwrnr

Aber ohne habe ich die Fehlermeldung, als ob ich es falsch geschrieben oder gar nicht exestiert.

0
Killig 
Fragesteller
 22.04.2023, 19:19

Problem gelöst. Mithilfe von cmd in die entsprechende Ordnerstruktur (in meinem Fall F:\Dev\Python\Game) wo auch die Python Datei abgelegt wurde, mitsamt den Ordern für Images oder Sounds und dann folgenden Befehl in cmd eingeben:

python -m PyInstaller <Name des Scripts>.py --exclude-module _bootlocale

Dann wird im Ordner Game, wo ihr zuvor reingegangen seid, 2 Ordner erstellt.

"dist" und build". In dist befindet sich dann die ausführbare .exe

0

ich habe schon mal ähnliche Fragen gelesen, je nachdem welches Programm man nutzt um eine Python Datei in eine exe umzuwandeln, bekommt man entweder das Python File nur verpackt als exe so wie du es hast oder es wird ganz normal compiliert.