一、引言
在使用Pyinstaller常见打包方式打包时发现,如果窗口左上角带图标,发给别人后就会报错。图标必须和.exe文件在一起时才能使用,所以可判断是因为该图标没有一起打包到.exe文件。
因此结合这篇文章补充完善小白也能操作的流程步骤:Pyinstaller打包exe,丢失图标等问题_pyinstaller 托盘图标丢失-CSDN博客
二、目标
将下图test.py打包成.exe文件,其中tubiao.ico作为软件图标,tubiao.png作为窗口左上角图标。这里专门用两个不同的图标来演示。
三、步骤
1、在如图位置输入“cmd”后回车。此处前提是你的python环境和Pyinstaller都已配置安装好。
2、输入 pyinstaller -F -w -i tubiao.ico test.py,tubiao.ico为软件图标名,test.py为python文件名。根据自己具体情况修改。
打包成功
在文件夹中可以看出多出来的文件
创建一个“img”文件夹,把tubiao.png放进去。
3、运行dist文件下的.exe文件
这个时候对话框可能会报错,先不要关闭这个对话框。
去C:\Users\你的用户名\AppData\Local\Temp文件夹下面,根据修改时间找到以“_ME”开头的文件夹。如下图
进去这个文件夹里面,新建一个“img”文件夹,把tubiao.png放进去。
4、修改test.spec文件
修改如图红色位置,“binaries=[('./img/tubiao.png','img')]”,修改后记得保存。
5、修改test.py代码,以本代码为例,主要是新增了红色框中的代码。
需要注意这个python代码中所使用的方法只支持.png和.gif的图标,所以这里演示也是用的.png。具体根据自己实际情况。
新增代码,修改完,记得保存。
p=os.path.realpath(sys.path[0])#新增
p=p.replace(r'\base_library.zip', '')#新增
p=p +r'\img\tubiao.png'#新增
6、继续打包,输入 pyinstaller test.spec,test.spec 根据自己情况替换。
7、运行.exe,即可看见图标加上去了,发给别人后图标也都还在。
软件图标还在
左上角的图标也还在