Pyinstaller:图像无法提取

2023-12-05

我运行构建命令,一切似乎都正确构建,直到我尝试启动 exe 并弹出此消息:

Image

这是我的规范文件,我不确定为什么它似乎将文件路径与两个图像结合在一起。

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 文件。使用 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')

错误窗口

Build -Value Error

通过对规范文件的这些更改,一切都会构建,但启动脚本弹出失败启动exe时启动。如果它们与 exe 一起打包,它们应该位于应用程序数据的临时文件中,正确吗?

Thanks!


来自 (DOCS):

添加数据文件:

要将数据文件包含在捆绑包中,请提供一个列表,将这些文件描述为datas=论证Analysis。数据文件列表是tuples。每个元组都有two值,两者都必须是字符串:

第一个字符串指定当前系统中的一个或多个文件。 第二个指定运行时包含文件的文件夹的名称。

So your datas线路需要类似于:

datas=[
    ('C:\\Users\\test\\Downloads\\TripApp\\BennySM.ico', 'data'),
    ('C:\\Users\\test\\Downloads\\TripApp\\BgSM.gif', 'data'),
],
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pyinstaller:图像无法提取 的相关文章

随机推荐