Kivy:PyInstaller在编译spec文件时不包括Kivy模块

时间:2014-06-19 03:01:27

标签: module kivy pyinstaller

我一直在关注来自Kivy.org的Creating Packages for Mac OS,以便尝试为我的Kivy .py文件创建一个.app。

然而,尽管遵循指南,我的应用程序永远不会工作,它在打开时立即崩溃。 Pyinstaller关于构建的警告被转储到包含以下内容的.txt中:

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)

等等。 。 。 (完整文件很长,但可以查看here

似乎根本找不到任何kivy模块,因此它们必须由于某种原因而未被包含在内。这就是我想问的问题。

截至目前,我一直在使用命令:

kivy pyinstaller.py myapp.py
kivy pyinstaller.py myapp.spec

分别创建spec文件和App。 spec文件似乎没有任何遗漏。 (我已经包含了钩子,并检查过去用于创建.exe的工作规范文件)

# -*- 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')

无论如何,我不确定为什么会这样。我的怀疑主要是以下几点:

1:我将pyinstaller下载为.zip,因为我在系统上找不到.py文件。虽然它通过pip安装在我认为是一个单独的python安装(我有2.7分开)

2:我对touchtracer的引用有些不对,它链接到div for Kivy中捆绑的touchtracer目录。 (名为Examples的文件夹,我将其拖到桌面上)

除此之外,我担心自己很无能为力。感谢您的帮助(如果可以!)

1 个答案:

答案 0 :(得分:1)

该错误似乎与有缺陷的spec文件相关联。没有其他报道。