我正在尝试创建一个使用Kivy的可执行文件。我获得了与PyInstaller打包在一起的代码及其依赖项,但是它仅在我使用Git Bash的./命令运行可执行文件时才运行。我尝试使用Anaconda提示符运行它,并且得到的调试消息是:
Unhandled exception at 0x####### (DgApi64.dll) in App.exe: 0x####: Access violation writing location 0x######.
我还尝试使用Windows Power Shell运行它,并且该外壳冻结,因此没有收到错误消息。
我可能有一个潜在的线索是,在Anaconda提示符下,我可以看到Kivy初始化过程在输出之前就失败了:
"[INFO ] [GL ] Using the "OpenGL" graphics system".
通常在运行.py文件而不是.exe时会这样做。
我们使用的PyInstaller命令为python -m PyInstaller App.spec
我们的规格文件如下:
<code>
from kivy.deps import sdl2, glew
# -*- mode: python -*-
block_cipher = None
a = Analysis(['App.py'],
pathex=['C:PATH TO CODE'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
exclude_binaries=True,
name='App',
debug=False,
strip=False,
upx=True,
console=True )
coll = COLLECT(exe, Tree('C:PATH TO CODE'),
a.binaries,
a.zipfiles,
a.datas,
*[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
strip=False,
upx=True,
name='App')
</code>