Pyinstaller的生成exe图标

背景介绍

最近有个项目需要使用python做解析工具的后台,由于项目规模比较小,所以选用的是flask框架。但是后期由于没有环境,只能暂时生成exe来运行了。这里我采用了pyinstaller来将项目生成了exe,第一次尝试使用pyinstaller -F xx.py指令来生成,结果报错各种模块没有(has no module named **),这个是因为生成的exe,没有将pip安装的包(或者pycharm接口添加的模块(默认地址是项目地址/venv/lib/site-Packages))需要在指令中使用-p 将对应路径导入进去,另外执行的时候,无法找到对应的自己手写的py,发现是路径问题。由于我项目所有路径放在了项目路径static路径下,为了代码不改变就能找到,我使用–add-data static;static 将目录映射下,当然为了修改图标,还是用了-i xx.icon,最后的指令(需要将cmd环境切换到xx.py所在路径下)变为

pyinstaller -F main.py --add-data static;static -p venv\Lib\site-packages -i main.ico

。生成的目标文件默认放到dist/下。需要将生成的xx.exe挪到xx.py的同级目录下执行(这个涉及到配置文件问题,当然也是我遇到的一个坑),但是就出现问题了,明明生成的exe图标是对的,一旦拷贝出去,生成的exe图标又变为默认的python图标。

可能的原因及尝试

一开始我以为是我拷贝有问题,但是经过几次拷贝之后应该可以排除这个选项。我开始怀疑是不是ico文件没有放到exe路径下,虽然可能性比较小,果然尝试几次之后发现问题果然没有消除。不得已看看网上有没有类似的情况,果然发现有一个相似的。

问题解决及原因

python3 pyinstaller打包生成exe程序 图标不改变,这篇博客介绍了如何使用pyinstaller的两种方式 -i 和 -icon的方式改变程序图标方法,他主要用来说明的是 -icon方式有可能图标没有改变的原因,实际上是windows资源管理器有缓存,导致图标没有改变,并给出了方法,通过改变大小图标的方式来刷新。我尝试了一下改变中图标,果然我的exe图标变了,可是我的原因不是因为使用了-icon的方式,而是因为我的图标太大了。为什么我的图标文件ico比较大呢?因为一开始我手里没有ico文件,只有对应的png文件,但是png文件不能直接用-i来生成作为exe的图标。于是我在在线图片转换网站png转ico。将手里的png转为ico文件,但是ico文件太小我怕看不清楚,于是将转换格式弄成最大的256*256.结果就成了以上的悲剧了。这个问题真是服了

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值