解决Python+Pyqt5+Pyinstaller打包程序文件太大,执行时间太长

标题:解决Python+Pyqt5+Pyinstaller打包程序文件太大,执行时间太长。

概述:暑假去一个设计单位实习,被安排了制作一款工程计算软件,我使用Python+Pyqt5编写程序以及UI界面,在调试好了所有的问题后,我便开始琢磨怎么打包将程序发给领导,通过使用Pyinstaller打包程序后发现,程序有70多Mb,这发给领导肯定是不合适的,领导那XP系统不得卡死,由此,为了解决这个问题,以及与大家分享一波经验,才想着发表本篇博客。

  1. 原始未处理的打包程序

本人电脑安装了conda,由于在conda环境下的虚拟环境使用Pyinstaller打包会将很多不许要的库一并打包至程序力,导致打包程序体积过大,启动时间过长。如下图,便是没有采取任何措施,直接使用系统默认环境进行打包的程序。
在这里插入图片描述

如上图所示,初始程序有将近80多Mb,但是我主程序可能也就几千Kb大小。
2:简化打包程序方案1
在出现此问题后,在网上查询各种资料,发现可能就是因为conda环境下打包程序会将无用的库也打包至程序,可以采用虚拟环境,创建一个较为干净的打包环境。本文所用的虚拟环境是Pipenv,详细的使用说明大家可以去CSDN上自行搜索。在创建好虚拟环境后,在虚拟环境下pip install 需要的库(如Pyqt5,Pyinstaller等),在配置好虚拟环境后,就可以直接在虚拟环境下打包程序。在这里插入图片描述
上图是执行打包的命令行,需要注意的是,大家在打包时候最好指定好需要依赖的site-packages。
在这里插入图片描述

如上图所示,打包程序在使用干净的虚拟环境打包后,程序体积直接小了一半。
3:简化打包最终方案
在程序打包到39Mb的时候,感觉程序还是有些大,还想进一步的减小程序的体积,以提高程序的运行效率。在知乎上找到了一篇很NB的博客。按他的方法试了试,但是发现他的方法在有中文路径时,程序无法执行。虽然没有实现他这种较为简要的打包方式,但是他的这种简化Pyqt5库的思路提醒了我。通过将Pyqt5库中一些没有用到的函数文件通通删除,在一顿操作下来,直接给Pyqt5包瘦了个身。最后,在虚拟环境下,运用经过瘦身后的Pyqt5库 进行打包,文件大小直接来到了24Mb,程序的体积实现了极大的缩减,也稍微提高了打包程序的运行效率。
在这里插入图片描述
结语:Python+Pyqt5的方式,给我们这种非专业软件出生的人能够快速的开发自己的应用程序,但由于其打包程序体积过大,启动时间太慢,也影响了我们开发程序的应用,本文提供了一种使用虚拟环境并简化Pyqt5库的方式来精简打包程序的方法。

最后,欢迎大家评论交流~~~~~~~~~~~~~~

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值