web-dev-qa-db-fra.com

Pyinstaller ajoutant des fichiers de données

Je me bats avec pyinstaller, chaque fois que je construis ce script spécifique avec une interface graphique kivy et que je lance le fichier .exe après la compilation, je reçois une erreur irrécupérable voulant qu'il ne puisse pas exécuter le script. Je l'ai couru à travers le cmd et il me donne l'erreur: IOError: [Errno 2] No such file or directory: 'main.kv' 

J'ai essayé d'ajouter le fichier .kv ainsi que les fichiers mdb et dsn (en utilisant pypyodbc dans le script) en utilisant --add-data lors du démarrage de la construction, mais j'obtiens une erreur: unrecognized arguments: --add-data'main.kv' (le reste des fichiers spécifiés pour --add-data suit) Existe-t-il des solutions pour cette méthode ou peut-être une autre méthode? 

6
staos2

Si vous recherchez l'aide de pyinstaller -h, vous pouvez trouver l'option --add-data qui fonctionne comme ceci [--add-data <SRC;DEST or SRC:DEST>]. Donc, dans votre cas, essayez

pyinstaller -F --add-data "main.kv;main.kv" yourtarget.py
15
Anson Chan

La solution consiste à exécuter: pyi-makespec yourscript.py Editez ensuite le script yourscript.spec et ajoutez les fichiers sous datas dans a = Analysis.

datas=[ ( '/pathToYourFile/main.kv', '.' )]

puis exécutez pyinstaller yourscript.spec devrait être bon après cela.

1
kaminsknator