用win7 python3 selenium3写的脚本打包成EXE后在其他电脑上重新配置环境变量还是不能打开浏览器
万分感谢! 展开
用pyinstaller打包一个tkinter的exe程序
今天用pyinstaller打了个小tk程序,整理了一些小问题的解决
打包单个exe文件
-F 选项可以打出一个exe文件,默认是 -D,意思是打成一个文件夹。
pyinstaller -F TestDataGen.py12
打出的桌面程序去掉命令行黑框
-w 选项可以打桌面程序,去掉命令行黑框
pyinstaller -F -w TestDataGen.py12
修改程序默认图标
-i 可以设置图标路径,将图标放在根目录:
pyinstaller -F -w -i gen.ico TestDataGen.py12
如下:
修改程序左上角的’tk’图标
# ...省略部分root = Tk(className='数据生成器')
root.iconbitmap('gen.ico') # 加图标app = App(root)
root.mainloop()12345
替换’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()123456789
修改主程序:
# ...省略部分import base64from icon import imgimport 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()123456789101112131415
再执行打包命令
pyinstaller -F -w -i gen.ico TestDataGen.py