我也是第一次尝试构建一个简单的 --onefile exe,其中包含数据文件,但是 Pyinstaller 在构建 .exe 时似乎没有找到它们。一个 --onedir 构建似乎工作正常。
此时我也在使用 --debug 开关。我能够运行 onefile 可执行文件,并且可以看到它似乎开始工作了。程序找到 (sys._MEIPASS) 临时目录正常(按指示打印所需的目录名称),但在从临时目录中查找第一个数据文件时报告“没有此类文件或目录”错误。我在 .exe 上使用了 archiveviewer.py 并没有在那里找到所需的数据文件——这似乎是问题所在,但我不知道为什么。构建的数据文件位于规范文件描述的目录中。我完整的规格文件是
# -*- mode: python -*-
a = Analysis(['develop6.py'],
pathex=['C:\\PYINST20'],
hiddenimports=[],
hookspath=None)
a.datas += [ ('conlist.txt', 'C:\\pyinst20\\conlist.txt', 'DATA'), ('imageblank.gif', 'C:\\pyinst20\\imageblank.gif', 'DATA')]
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name=os.path.join('dist', 'develop6.exe'),
debug=True,
strip=None,
upx=True,
console=True )