PyInstaller .exe-Datei nicht funktioniert
EDIT: fand ich heraus, dass der Fehler ist, dass die Ressourcen konnte nicht geöffnet werden. Kopieren Sie das Verzeichnis in den Ordner, wo die .exe ist nicht fix it. Ich habe versucht, das entfernen von Ressourcen aus der .spec-Datei und die Größe der .exe-Datei ist jetzt 9 MB im Gegensatz zu 52 MB, damit bin ich ziemlich sicher, dass die Ressourcen enthalten sind, aber irgendwie haben Sie nicht scheinen kann, eröffnet .exe. Im Fall, dass etwas ist falsch mit ihm, Diese ist mein .spec - Datei- habe ich nur geändert, der Baum Sache zu gehören die Ressourcen, die .exe-Datei mit dem Namen und Symbol.
In anderen Worten, die Frage ist jetzt: Warum kann nicht die exe finden meine Spiel-Ressourcen, und was muss ich tun um das zu beheben? Auch erkannte ich, dass mein Ressourcen-Ordner hat es zwei Unterordner - bedeutet das, dass ich gehen über das schreiben der Baum anders?
Ich habe ein Spiel in Python (mit Pygame) und möchten, um eine einzelne ausführbare Datei, damit ich verteilen kann. PyInstaller perfekt zu sein schien, und schließlich, nach einer Weile des Suchens, fand ich heraus, wie man es in diese Anleitung. Nachdem ich Zwickte meinen code ein, um den Schritt 2 zu arbeiten ich die .spec-Datei, Hinzugefügt das Verzeichnis mit den Ressourcen, die es (wie in Schritt 5, und einschließlich der schriftart-Datei), kopiert es in den gleichen Ordner .spec-Datei war, und schließlich lief ich
build.py game.spec
und ich fand die .exe-Datei, wo genau es sein soll. Jedoch wenn ich es öffnen, es schließt sich einfach wieder nach ein paar Sekunden, und ich denke, es ist nur, bevor das Hauptmenü angezeigt wird. Ich bin mir nicht wirklich sicher, es ist ein Schrift-Schraube-up wieder, aber da machte ich sicher, dass es in den Ressourcen als auch...
Leider die Suche nach einer Lösung im web nicht helfen mich überhaupt, vor allem, weil die Hälfte der links, um das Projekt sind nun gebrochen.
Wenn jemand weiß, was schief gegangen ist hier (oder muss mehr details) bitte lassen Sie mich wissen.
Details:
Python version: 2.7.7 32 bit
Pygame version: 1.9.3 32 bit
PyInstaller version: 1.5 32 bit
System: Windows 8.1 64-bit (32-bit-Programme haben alle funktionierte gut so weit, obwohl)
InformationsquelleAutor MMM | 2014-12-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, öffnen Sie die Eingabeaufforderung, und ziehen Sie die exe hinein und drücken Sie die EINGABETASTE, so werden Sie fangen die Fehler (wenn vorhanden) und aktualisieren Sie dann Ihre Frage, mehr info == weitere Hilfe.
Ich nie benutzt pyinstaller, so kann ich nicht wirklich helfen, Sie auf.
Außerdem schlage ich vor, Sie versuchen py2exe, es arbeitete schön mit pygame (zumindest für mich) und später Sie können setup mit NSIS oder Inno.
Edit:
Wenn die .exe kann nicht die highscores dauerhaft zu speichern (wie du gesagt hast in Kommentar unten) versuchen, die exe als admin, es wäre nur eine Frage der Schreibrechte , oder vielleicht ist es Ihre antivirus-wer kennt es nicht erlauben zu schreiben (sandbox bei Avast, unbekannt/selten-Datei bei Norton).
Klingt wie Sie sagen nicht PyInstaller, wo, nach Ressourcen zu suchen oder ist es zu dumm, Sie zu finden. Auch hier weiß ich nicht wie es funktioniert, so dass ich könnte falsch sein
Ich würde vorschlagen, py2exe.
Haha sehen, würde ich mag zu denken, dass würde besser funktionieren, aber ich habe schon darauf bestanden, py2exe so viel (6 Monate, wenn man sich die Zeitstempel von meiner letzten Frage), bevor Sie sich auf PyInstaller, dass ich tatsächlich körperlich krank sind mit der Menge an Schlaf und geistige Gesundheit habe ich verloren. Und ich habe noch immer keine Ahnung, warum er beschlossen, er will nicht konvertieren mein Spiel nicht mehr, nicht konvertieren Sie eine version von meinem Spiel klappte es mit vor entweder mehr aber noch kompilieren Hello World. Im Grunde werde ich nur in Betracht ziehen/in der Lage sein zu verwenden von py2exe wieder wenn mir jemand sagt, wie fix die "Segmentation Fault" - ich erhalte immer.
InformationsquelleAutor frainfreeze
Ich nicht herausfinden, was das problem war, aber ich habe es geschafft es zum laufen zu bringen. Ich begann mit der Installation der neueren version von PyInstaller (2.1) mit pip und Abschluss die gleichen Schritte wieder, aber dieses mal in das Scripts-Verzeichnis und läuft pyi-makespec und pyi-bauen statt makespec.py und build.py denn das ist, wie die neue version funktioniert, denke ich. Zunächst wäre es immer noch Klagen über die Ressourcen zu fehlen, es sei denn, ich hatte es von cmd, aber ich denke, das war eigentlich, weil ich vergessen Schritt 5 (Baum in der makespec-Datei). Für einige Grund, jetzt die .exe kann nicht ständig speichern der highscores, aber abgesehen davon, dass es perfekt funktioniert.
InformationsquelleAutor MMM