2014-06-19 1 views
0

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!)

Répondre

1

Il semble que l'erreur ait été associée à un fichier de spécification défectueux. Rien d'autre à signaler.

+0

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

+0

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

+0

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