Pyinstaller hinzufügen von Daten-Dateien
Bin ich zu kämpfen mit pyinstaller, Wann immer ich Baue dieses spezielle Skript mit kivy GUI und führen Sie die .exe-Datei nach dem build bekomme ich einen fatal error, es konnte nicht führen Sie die Tasche. Ich lief es durch die cmd und gib es mir den Fehler: IOError: [Errno 2] No such file or directory: 'main.kv'
Habe ich versucht, indem die .kv-Datei als auch als mdb und dsn-Datei (mit pypyodbc im Skript) mit der Option --add-data beim starten des build aber dabei bekomme ich eine Fehlermeldung: unrecognized arguments: --add-data'main.kv'
(Der rest der angegebenen Dateien --add-data folgt)
Gibt es irgendwelche Lösungen für dieses oder vielleicht alternative Methoden?
InformationsquelleAutor staos2 | 2017-01-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie das Kontrollkästchen
pyinstaller -h
für die Hilfe, die Sie finden können--add-data
option funktioniert wie folgt[--add-data <SRC;DEST or SRC:DEST>]
. Also in deinem Fall versuchenos.pathsep
, d.h., auf den meisten *nix-Systemen ist dies ein Doppelpunkt und unter Windows sollte dies ein Semikolon.mit Bezug auf die output-dist/ Ordner, wo hast main.kv am Ende?
Mann pyinstaller docs konnte mehr klar ... alle die Beispiele, die ich gefunden verwendet
:
... normalerweise habe ich nur tun es in der spec-Datei, aber ich wirklich nicht wollen eine spec-Datei für dieses ProjektInformationsquelleAutor Anson Chan
Die Lösung ist, um zu laufen:
pyi-makespec yourscript.py
Bearbeiten Sie dann die yourscript.spec-Skript und fügen Sie die Dateien unter Daten a= Analyse.
führen
pyinstaller yourscript.spec
sollte gut sein, nachdem, die.
Fügen Sie das Komma dann: Daten=[ ( '/pathToYourFile/main.kv', '.' )],
Ich habe versucht, mit Kommas, aber auch nicht funktionierte und zeigte die gleiche Fehlermeldung, wenn ich das ausführen .exe-Datei "zu viele Werte packen" Fehler.
Für die künftigen Nutzer, wenn Sie "zu viele Werte packen Sie' stellen Sie sicher, dass Sie hinzufügen den Pfad zu der Liste als ein Tupel in der form
('source\dir', 'destination\dir')
. Ich habe dieses zunächst beim Lesen der Antwort und bekam zu viele Werte Fehler.InformationsquelleAutor kaminsknator