打包单个exe文件
-F
选项可以打出一个exe文件,默认是 -D
,意思是打成一个文件夹。
pyinstaller -F TestDataGen.py
打出的桌面程序去掉命令行黑框
-w
选项可以打桌面程序,去掉命令行黑框
pyinstaller -F -w TestDataGen.py
修改程序默认图标
-i
可以设置图标路径,将图标放在根目录:
pyinstaller -F -w -i gen.ico TestDataGen.py
如下:
修改程序左上角的’tk’图标
# ...省略部分 root = Tk(className='数据生成器') root.iconbitmap('gen.ico') # 加图标 app = App(root) root.mainloop()
如下:
替换’tk’图标后,打包的exe执行失败
原因是图标没有打进去,或者打包成文件夹,或者把图标转化成base64数据:
# 这段程序可将图标gen.ico转换成icon.py文件里的base64数据 import base64 open_icon = open("gen.ico","rb") b64str = base64.b64encode(open_icon.read()) open_icon.close() write_data = "img = '%s'" % b64str f = open("icon.py","w+") f.write(write_data) f.close()
修改主程序:
# ...省略部分 import base64 from icon import img import os # 将import进来的icon.py里的数据转换成临时文件tmp.ico,作为图标 tmp = open("tmp.ico","wb+") tmp.write(base64.b64decode(img)) tmp.close() root = Tk(className='数据生成器') app = App(root) root.iconbitmap('tmp.ico') # 加图标 os.remove("tmp.ico") # 删掉临时文件 root.mainloop()
再执行打包命令
pyinstaller -F -w -i gen.ico TestDataGen.py
最终展示结果:
作者:含笑半步颠√
博客链接:https://www.cnblogs.com/lixy-88428977
声明:本文为博主学习感悟总结,水平有限,如果不当,欢迎指正。如果您认为还不错,欢迎转载。转载与引用请注明作者及出处。