有谁知道如何修改.spec
使用 Pyinstaller 创建的文件Makespec.py
,使其在_MEIPASS2
Temp 目录中包含图像数据?我希望能够在我的 exe 中添加一个图标。我已经完成了这里写的内容,但我只是不知道如何将我的数据添加到.spec
.
我在.spec
文件末尾添加了这一行:
a.datas += [('iconName.ico','DATA','C:\\Python26\\pyinstaller-1.5.1\\iconName.ico')]
有谁知道如何修改.spec
使用 Pyinstaller 创建的文件Makespec.py
,使其在_MEIPASS2
Temp 目录中包含图像数据?我希望能够在我的 exe 中添加一个图标。我已经完成了这里写的内容,但我只是不知道如何将我的数据添加到.spec
.
我在.spec
文件末尾添加了这一行:
a.datas += [('iconName.ico','DATA','C:\\Python26\\pyinstaller-1.5.1\\iconName.ico')]
这是我的规范文件 ( Collector.spec
),我用于一个名为"Collector.py"
.
# -*- mode: python -*-
a = Analysis(['Collector.py'],
pathex=['C:\\Users\\vijay\\Python\\Collector'],
hiddenimports=[],
hookspath=None,
runtime_hooks=None)
a.datas += [('logo.png','C:\\Users\\vijay\\System\\icon\\logo.png','DATA')]
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='Collector.exe',
debug=False,
strip=None,
upx=True,
console=False , icon='C:\\Users\\vijay\\System\\icon\\logo.ico')
pyz 变量正上方的行"a.datas += .... "
包含将显示在我的 GUI 应用程序的各个窗口上的 png 图像的路径。在"icon=...."
exe 变量中设置的变量,保存 ico 图像的路径,该图像将作为桌面图标显示在 Windows 桌面上。
您现在可以在您的主程序中使用 Max 在此处Collector.py
所做的工作(对我来说)。
这是我的脚本片段,我Collector.py
在其中使用了Max的代码:
path = self.resource_path("logo.png")
icon = wx.Icon(path, wx.BITMAP_TYPE_PNG)
self.SetIcon(icon)
现在,当我运行时pyinstaller Collector.spec
,我的 Collector App 窗口既有桌面图标又有图标。
希望这可以帮助!
要将图标添加到可执行文件,您需要使用以下内容:
python Makespec.py --icon=<FILE.ICO> yourprogram.py
或者,您可以将以下内容直接添加到exe = EXE(...)
规范文件中
icon=<FILE.ICO>
这会将 file.ico 添加到可执行文件的资源中(仅限 Windows),并将显示为应用程序图标。您正在使用的 a.datas 附加将向内部资源添加一个图标,该图标可以在应用程序内部通过sys._meipass
. 例如,您可以使用它在主窗口顶部添加一个图标。
这条线应该加在a = Analysis(...)
和pyz = PYZ(a.pure)
线之间。