我读了很多关于如何通过修改spec文件来包含图像和图标的教程,但我没有成功。我编写了一个程序,想使用pyinstaller使其可执行,并在其他计算机上运行它。pyinstaller不会将图像和图标文件包含在主exe文件中。当我在自己的电脑上运行编译的exe文件时,它可以正常工作,但是当我尝试在其他计算机上运行相同的文件时,它会抛出错误。请建议我该怎么做,这让我头疼不已。
提前感谢您的帮助。
下面是我的.spec文件代码和我的python脚本(部分)。
.spec文件:
.spec文件:
# -*- mode: python -*-
a = Analysis(['English-Nepali.py'],
pathex=['C:\\Users\\User\\Desktop\\Dict'],
hiddenimports=[],
hookspath=None,
runtime_hooks=None)
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
exclude_binaries=True,
name='English-Nepali.exe',
debug=False,
strip=None,
upx=True,
console=True )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=None,
upx=True,
name='English-Nepali')
程序中涉及到图像和图标的部分,目录中同时存在ico和jpg文件:
class Demo2:
def __init__(self, master):
self.master = master
self.master.geometry("640x250+200+200")
master.resizable(False,False)
self.master.title('About')
self.img = Image.open(r"C:\Users\User\Desktop\Dict\rotunda.jpg")
self.tetras = ImageTk.PhotoImage(self.img)
def main():
root = tk.Tk()
ex = Example(root)
root.iconbitmap(r"C:\Users\User\Desktop\Dict\1.ico")
root.resizable(False,False)
root.mainloop()