用pyinstaller打包一个exe程序
2017-01-12 14:48
411 查看
用pyinstaller打包一个tkinter的exe程序
今天用pyinstaller打了个小tk程序,整理了一些小问题的解决打包单个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
相关文章推荐
- 用pyinstaller打包一个exe程序
- 使用PyInstaller将Python程序打包成一个单独的exe文件
- 怎样把一个写好的程序,打包成一个文件。.exe的,这样我一点击就可以运行,好像网上说这个是绿色软件
- VS自带的打包程序同时自动运行一个EXE或批处理命令
- python--利用PyInstaller打包exe程序
- Qt技巧:Win7下打包发布Qt程序(解释的比较清楚,把exe和dll伪装合并成一个文件)
- PyInstaller将python脚本打包成exe可执行程序
- 如何把一个java程序打包成exe文件,运行在没有java虚拟机
- 利用pyinstaller将Python3.6文件打包成exe程序
- 11 Python pyinstaller--将Python程序打包成单独的exe可执行文件
- 使用 pyinstaller 把python脚本打包成 windows exe 可执行程序
- Delphi 中将一些 Dll等生成资源文件打包成一个独立的EXE程序方法步骤
- Python调用不在同一个文件夹下的Python程序,并且如何解决pyinstaller打包路径问题
- 一个简单java小程序打包成EXE运行文件
- 使用VS进行打包程序解决生成两个文件的问题(压缩后只有一个exe)
- vs2008 将exe文件和库文件打包成一个安装程序
- Python程序用pyinstaller打包成exe文件
- winfrom 程序打包成一个exe(伪绿色版)
- WinRAR将多个文件打包一个EXE文件(用此程序可以打包)
- 【Python】 如何用pyinstaller打包python程序成exe