【pyinstaller】关于打包优化压缩体积的几种方式

1. 开启字节码编译优化

使用pyinstaller自带的命令行参数

--optimize [0|1|2]  

参考链接

https://pyinstaller.org/en/v6.8.0/usage.html#cmdoption-optimize
https://pyinstaller.org/en/v6.8.0/feature-notes.html?highlight=Optimization%20#bytecode-optimization-level

这个功能类似或者底层就是python解释器的编译优化的功能,默认是0,即不开启编译优化。

  • 1级优化是忽略源码中的断言机制assert,可能性能有略微的提升。
  • 2级优化是忽略doc string等函数文档注释,不参与字节码的编译。

注意以上的优化,是针对源码py到字节码pyc的编译阶段,如果项目已经由cython编译为pyd的机器码后,再开这个优化的话,效果微乎其微。

2. 使用UPX压缩优化工具

UPX官网https://upx.github.io/
UPX下载https://github.com/upx/upx/releases
号称可以将dll等库文件压缩将近50%-70%,具体feature看官网介绍。
在pyinstaller打包命令里面加入 --upx-dir [upx.exe的根目录]
但是打包的时候会非常慢,
优点:

  1. 打包后体积确实可以大幅减少

缺点:

  1. 打包速度会变动非常慢
  2. 启动软件也会变慢,因为启动时会先进行UPX的解压缩,就绪好了之后,才会正式启动软件本身。所谓用时间换空间
  3. 运行可能会报错,需要自行测试,因为upx压缩个别dll的时候可能会报错。
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值