我无法为此应用程序编译Kivy软件包:
# test.py
import kivy
kivy.require('1.10.1')
from kivy.app import App
from kivy.uix.label import Label
class MyApp(App):
def build(self):
return Label(text='Hello world')
if __name__ == '__main__':
MyApp().run()
已安装Python v3.7.1和Kivy v1.10.1。我按照Kivy用户指南安装了pip和wheel和Kivy的依赖项:
https://kivy.org/doc/stable/guide/packaging-windows.html
我将'test.py'放置在'c:\ compile-test-folder'中,并验证解释器使用以下命令运行它:
python test.py
在“ c:\ compile-test-folder”中,我制作了一个规格文件:
python -m PyInstaller-名称测试test.py
运行此命令会产生许多“ stderr”警告。也许这很常见……它还生成了“ build”和“ dist”文件夹以及“ test.spec”文件。
在按照用户指南进行更改后,规格文件显示如下:
# -*- mode: python -*-
from kivy.deps import sdl2, glew
block_cipher = None
a = Analysis(['test.py'],
pathex=['c:\\compile-test-folder\\'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
[],
exclude_binaries=True,
name='test',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True )
coll = COLLECT(exe, Tree('c:\\compile-test-folder\\'),
a.binaries,
a.zipfiles,
a.datas,
*[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
strip=False,
upx=True,
name='test')
最后,我运行了以下内容,但是'dist'文件夹仍然为空。
python -m PyInstaller test.spec
其他人也有类似的问题,但是我没有看到适用的解决方案。也许有些事情我显然做错了,或者也许我应该检查一个常见的问题...