J'ai suivi Creating Packages for Mac OS de Kivy.org afin de créer un fichier .app pour mon fichier Kivy .py.Kivy: PyInstaller ne comprenant pas les modules Kivy lors de la compilation du fichier de spécifications
Cependant, malgré le fait de suivre le guide, mon application ne fonctionne jamais, elle se bloque instantanément à l'ouverture. de l'avertissement de Pyinstaller concernant la construction ont été déversés dans un fichier .txt contenant les éléments suivants:
W: no module named kivy.graphics.ClearBuffers (top-level import by kivy.uix.screenmanager) W: no module named kivy.core.spelling.SpellingBase (top-level import by kivy.core.spelling.spelling_enchant) W: no module named kivy.core.image.ImageLoader (top-level import by kivy.core.image.img_gif) W: no module named multiprocessing.RLock (top-level import by multiprocessing.sharedctypes)
et ainsi de suite. . . (Le fichier complet est très long, mais peut être consulté here)
Il semble qu'aucun module kivy n'a pu être trouvé, ils ne doivent donc pas être inclus pour une raison quelconque. C'est ce que je veux demander comment réparer.
En ce moment, j'utilise les commandes:
kivy pyinstaller.py myapp.py
kivy pyinstaller.py myapp.spec
respectivement pour créer le fichier de spécification et l'App. Le fichier de spécifications ne semble rien avoir manquant. (Je l'ai inclus les crochets et vérifié avec un fichier de spécification de travail j'ai utilisé pour créer un fichier .exe dans le passé)
# -*- mode: python -*-
# -*- coding: utf-8 -*-
from kivy.tools.packaging.pyinstaller_hooks import install_hooks
install_hooks(globals())
a = Analysis(['Meep/Meep.py'],
pathex=['/Users/Owatch/Documents/pyinstaller/Meep'],
hiddenimports=[],
runtime_hooks=None)
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
exclude_binaries=True,
name='Meep',
debug=False,
strip=None,
upx=True,
console=False , icon='Meep/icon.icns')
coll = COLLECT(exe,Tree('/Users/Owatch/Desktop/examples/demo/touchtracer/'),
a.binaries,
a.zipfiles,
a.datas,
strip=None,
upx=True,
name='Meep')
Quoi qu'il en soit, je ne sais pas pourquoi ce phénomène se produit. Mes soupçons sont principalement autour de ce qui suit:
1: J'ai téléchargé pyinstaller comme. Zip depuis que je ne pouvais pas trouver le fichier .py sur mon système. Ceci malgré avoir installé via pip sur ce que je crois être une installation de python séparé (je 2.7 séparément)
2: Ma référence à touchtracer est en quelque sorte de mal, il est lié au répertoire touchtracer qui est venu empaqueté dans le dmg pour Kivy. (Un dossier nommé Exemples, que j'ai déplacé sur mon bureau)
À part ça, j'ai peur que je sois complètement désemparé. Merci d'aider (Si vous le pouvez!)
Pouvez-vous élaborer ce qui ne va pas avec votre spécification? J'ai aussi des problèmes avec mon fichier spec généré (il a été généré automatiquement, n'est-ce pas?). Cela signifie, je ne peux même pas emballer la démo touchtracher – swdev
Je ne me souviens pas à coup sûr, car cela fait un moment. Mais je crois que cela avait quelque chose à voir avec le processus dans lequel je créais les fichiers spec. Je modifiais les fichiers de spécifications plutôt que de les recréer à des fins de modification et cela ne fonctionnait pas pour des raisons procédurales. Si vous ne démarrez pas le processus à partir de zéro, cela va probablement poser problème. Je suis désolé, je ne peux pas être plus précis. – Micrified
Ok, je parviens à créer le fichier OSX * .app à partir de la démo Touchtracer, et exécuter l'application via Terminal. Mais, je ne peux pas double-cliquer dessus pour l'exécuter. Je dois encore utiliser Terminal. Je me suis battu avec ce problème récemment. Est-ce que votre fichier * .app généré peut être exécuté en double-cliquant sur son icône dans le Finder? – swdev