【发布时间】:2017-02-10 17:07:25
【问题描述】:
我运行构建命令,一切似乎都正确构建,直到我尝试启动 exe 并弹出此消息:
这是我的规范文件,我不确定为什么它似乎将文件路径与两个图像组合在一起。
block_cipher = None
a = Analysis(['TripCalc.py'],
pathex=['C:\\Users\\test\\Downloads\\TripApp'],
binaries=[],
datas=[('C:\\Users\\test\\Downloads\\TripApp\\BennySM.ico', 'C:\\Users\\test\\Downloads\\TripApp\\BgSM.gif')],
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,
a.binaries,
a.zipfiles,
a.datas,
name='TripCalc',
debug=False,
strip=False,
upx=True,
console=False ,
icon='C:\\Users\\test\\Downloads\\TripApp\\Benny.ico')
我尝试在数据旁边添加文件:
('Benny.ico', 'C:\\Users\\test\\Downloads\\TripApp\\BennySM.ico', 'data', 'BgSM.gif', 'C:\\Users\\test\\Downloads\\TripApp\\BgSM.gif', 'data')
但它不会与 ValueError: too many values to unpack (expected 2) 一起构建。
我按照这篇文章中关于如何将文件路径添加到主 python 文件的示例进行操作。 Bundling data files with PyInstaller --onefile
我能够构建 exe 并使用注释掉的图像运行它。任何帮助将不胜感激。
当我收到值错误消息时,我使用以下内容设置规范文件:
block_cipher = None
a = Analysis(['TripCalc.py'],
pathex=['C:\\Users\\test\\Downloads\\TripApp'],
binaries=[],
datas=[('Benny.ico','C:\\Users\\test\\Downloads\\TripApp\\BennySM.ico','data','BgSM.gif','C:\\Users\\test\\Downloads\\TripApp\\BgSM.gif','data')],
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,
a.binaries,
a.zipfiles,
a.datas,
name='TripCalc',
debug=False,
strip=False,
upx=True,
console=False ,
icon='C:\\Users\\test\\Downloads\\TripApp\\Benny.ico')
错误窗口
随着对规范文件的这些更改,一切都会构建,但在启动 exe 时会出现failed to launch script pops。如果它们与 exe 打包在一起,它们应该位于应用数据中的临时文件中正确吗?
谢谢!
【问题讨论】:
标签: python pyinstaller