Pyinstaller: generate-exe Datei + Ordner (in --onefile-Modus)
Jetzt arbeite ich mit Pyinstaller.
Ich habe ein Skript die Bilder aus einem img-Ordner..
/python
|----/img
|---- | ----icon1.ico
|---- | ----icon2.ico
|----maint.py
Mein Skript zu generieren .exe ist
pyinstaller.py --windowed --noconsole --clean --onefile maint.py
das problem ist, dass nur generieren die .exe-Datei sondern den ganzen Ordner /img weggelassen wird.
Frage: welche zusätzliche syntax brauche ich um in die vorhergehende Zeile in der Reihenfolge, um automatisch die .exe-Datei + /img-Ordner?
Update 12/18/2013
Ich meine: dass nach der Ausführung der pyinstaller.py Skript, mit allen Argumenten, die ich sehen muss in der /dist Ordner: die .exe-Datei + /img-Ordner mit allen icons oder bitmaps-Dateien, die ich für meine Anwendung
Dank
Was meinst du mit "bekommen automatisch die .exe-Datei + /img-Ordner"?
Kopieren Sie einfach den Ordner zu
Ich meine: dass nach der Ausführung der pyinstaller.py Skript, mit allen Argumenten, die ich sehen muss in der /dist Ordner: die .exe-Datei + /img-Ordner mit allen icons oder bitmaps-Dateien, die ich für meine Anwendung
Ja, das ist eine alternative, aber manuell. Ich war auf der Suche für eine Lösung mit dem gleichen Befehl. Manchmal habe ich nicht die Berechtigung zum kopieren und einfügen von einem Ordner in den /dist Ordner.
Wenn Sie nicht die Rechte, dies zu tun, dann die
Kopieren Sie einfach den Ordner zu
/dist
sobald die Kompilierung schaffte.Ich meine: dass nach der Ausführung der pyinstaller.py Skript, mit allen Argumenten, die ich sehen muss in der /dist Ordner: die .exe-Datei + /img-Ordner mit allen icons oder bitmaps-Dateien, die ich für meine Anwendung
Ja, das ist eine alternative, aber manuell. Ich war auf der Suche für eine Lösung mit dem gleichen Befehl. Manchmal habe ich nicht die Berechtigung zum kopieren und einfügen von einem Ordner in den /dist Ordner.
Wenn Sie nicht die Rechte, dies zu tun, dann die
pyinstaller.py
die ausführen nicht diese Privilegien. In jedem Fall schreiben Sie einfach ein Skript bereitstellen, (a) fordert pyinstaller und (b) kopiert die Dateien.InformationsquelleAutor MigRome | 2013-12-16
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update-12/19/2013
Endlich, wir haben es!
0. Ich arbeite mit der aktuellen version von PYInstaller + Python 2.67 mit Sublime Text als Editor.
1. Im Falle Ihrer Py-Skript benötigt einige Dateien, icons, Bilder, müssen Sie eine Funktion, die ruft diese Dateien aus dem Projekt-Ordner (in Entwicklung) oder als temporäre Daten im Ordner (bei der Implementierung). Dieses Skript MUSS in deinem code genau in dem Teil mit den Angehörigen Wege gehen, um die Ressourcen zu erhalten. Folgen Sie bitte genau dieser Leitlinie: https://stackoverflow.com/a/13790741
2. Nach dem vorherigen code, den Sie ausführen muss, zum ersten mal die pyinstaller Befehl -wie poste ich in meinem Frage-post-.
3. Öffnen Sie nun Ihren .spec-Datei erzeugt, nachdem die Ausführung der PYInstaller (befindet sich in PYinstaller/) - Befehl und fügen Sie nach".binaries" - Zeile, die nächste Zeile in der EXE-Datei () - Funktion:
Beachten, dass in Baum(...) Funktion das erste argument ist der Ordner vor die Tür gesetzt: was bedeutet, dass ich alle einschließen möchten den Inhalt dieses Ordners (beachten Sie, ich bin putting ein relativer Pfad bezüglich der AppStart.py Datei) in der Datei-container von meinem .EXE-Datei.
4. Nach dieser änderung erneut auszuführen, die pyinstaller Befehl, aber in diesem Fall zeigt auf meinem .SPEC-Datei:
Und schließlich meine App ausgeführt werden kann als ausführbare Datei ohne die Notwendigkeit, kopieren und fügen Sie alle externen Ordner als jemand erwähnt. Aber wie immer halte ich die gute-praktische Weise.
Dank für Ihre Unterstützung.
Die Antwort beantwortet nicht die erste Frage. Es gibt keine Möglichkeit zu sagen, pyinstaller um die Dateien oder Verzeichnisse im Verzeichnis "dist" von sich, anstatt Sie zu addieren, um das bundle?
InformationsquelleAutor MigRome