我读了很多关于如何通过修改spec文件来包含图像和图标的教程,尽管我没有成功.我编写了一个程序,希望使用pyinstaller使其可执行文件并在其他计算机上运行它. pyinstaller在主.exe文件中不包括图像和图标文件.当我在自己的PC上运行已编译的.exe文件时,它工作正常,但是当我尝试在另一台计算机上运行同一文件时,则会引发错误..请建议我该怎么做,这使我不知所措..
提前致谢..
下面是我的.spec文件代码和我的python脚本(部分)
.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()
解决方法:
将.ico& pyinstaller创建的文件夹中的.jpg文件.
标签:tkinter,python,pyinstaller
来源: https://codeday.me/bug/20191122/2059687.html