PyInstaller 使用UPX压缩减少exe大小

PyInstaller 使用UPX压缩减少exe大小


在这里插入图片描述


1. 背景

Python打包成exe文件一大痛点就是文件size过大,而使用UPX压缩可以改善一些(但还是不能根本解决)

UPX (the Ultimate Packer for eXecutables)是一款先进的可执行程序文件压缩器
UPX是一个著名的压缩壳,主要功能是压缩PE文件(比如exe,dll等文件),

UPX压缩的技术原理:

加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。
解压原理:是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。当加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个外壳程序。当执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,以后的就交给真正的程序。


2. 下载UPX

先在官网或github下载UPX exe:

下载后,解压得到upx.exe:

在这里插入图片描述


3. 使用UPX

直接在pyinstaller命令指定upx目录,–upx-dir

pyinstaller --upx-dir “C:\UPX”

或者 将upx.exe放入当前 python/conda的环境目录下,

在这里插入图片描述

这样Pyinstaller打包时,就可以自动检测并使用UPX压缩:

加入UPX前:

在这里插入图片描述
加入UPX后:

在这里插入图片描述

压缩效果根据实际代码情况,我这里找了一个pyqt6的应用程序,实测可减少4M左右的size大小:

在这里插入图片描述


博主热门文章推荐:

在这里插入图片描述

一篇读懂系列:

LoRa Mesh系列:

网络安全系列:

嵌入式开发系列:

AI / 机器学习系列:


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HowieXue

求打赏~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值