Pyinstaller图形化工具编写总结

有个需求:将py脚本转成exe工具
使用最简单的tkinter,编写出图形化界面,然后使用pyinstaller打包成exe。需要注意的是:
当程序执行的时候,图形化界面会卡死。
思考:使用异步。
最简单的处理方式:thread.start_new_thread(fun,args)

pyinstaller 图片打包失败:
请将脚本中的图片路径修改为绝对路径,如:C:\windows\123.ico即可解决。
打包命令:python pyinstaller.py -F -w -i=icon.ico your_script.py
-F (打为一个包) -w(执行后,命令行窗口消失) -i (程序图标)

然鹅,以上简单方法并没有完全解决,,,打包成独立exe可执行程序。还是报错。查阅了大量互联网资料得以解决,现在整理如下:

首先明确目标:讲python文件转换为exe可执行程序,不需要有任何依赖。

*进行图形转换时,报错:图片找不到。查阅资料得以解决:

新建python文件,取名:my_img.py。思路,将图片进行base64处理。

import base64

def transb64(picname):
    open_ico=open(pic_name,"rb")
    b64str = base64.b64encode(open_ico.read())
    open_ico.close()

    write_data= "img= '%s' " % b64str.decode()
    picname=picname.replace(".","")
    f=open(picname+".py","w+")
    f.write(write_data)
    f.close()

for pic_name in ["app.ico","1.gif"]:
    transb64(pic_name)

通过执行以上程序,在当前文件夹下得到appico.py以及1gif.py文件。打开这两个文件即可看出,图片均已被转换为base64编码。再在调用处进行base64解码还原为图片即可。值得注意的是,app.ico以及1.gif均在当前文件夹下。

在调用的python脚本中进行导入:

from appico import img as pic_ico
from 1gif import img as pic_gif

在调用的python文件中进行解码以及图片的还原 :

import base64,sys,os

tmp=open("tmp.ico","wb+")
tmp.write(base64.b64decode(pic_ico))
tmp.close()
window.iconbitmap("tmp.ico")
os.remove("tmp.ico")

最后,工具使用python编写,使用pyinstaller进行格式转换,可以做到直接打包为一个文件。

python pyinstaller.py -F -w -i=app.ico C:\the path of your py file

猜你喜欢

转载自blog.csdn.net/hackerie/article/details/80471531