PyInstaller 使用UPX压缩减少exe大小
PyInstaller 使用UPX压缩减少exe大小
- 1. 背景
- 2. 下载UPX
- 3. 使用UPX
- 博主热门文章推荐:
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:
- https://upx.github.io/
- https://github.com/upx/upx
下载后,解压得到upx.exe:
3. 使用UPX
直接在pyinstaller命令指定upx目录,–upx-dir
pyinstaller --upx-dir “C:\UPX”
或者 将upx.exe放入当前 python/conda的环境目录下,
这样Pyinstaller打包时,就可以自动检测并使用UPX压缩:
加入UPX前:
加入UPX后:
压缩效果根据实际代码情况,我这里找了一个pyqt6的应用程序,实测可减少4M左右的size大小:
博主热门文章推荐:
一篇读懂系列:
- 一篇读懂无线充电技术(附方案选型及原理分析)
- 一篇读懂:Android/iOS手机如何通过音频接口(耳机孔)与外设通信
- 一篇读懂:Android手机如何通过USB接口与外设通信(附原理分析及方案选型)
LoRa Mesh系列:
- LoRa学习:LoRa关键参数(扩频因子,编码率,带宽)的设定及解释
- LoRa学习:信道占用检测原理(CAD)
- LoRa/FSK 无线频谱波形分析(频谱分析仪测试LoRa/FSK带宽、功率、频率误差等)
网络安全系列:
- ATECC508A芯片开发笔记(一):初识加密芯片
- SHA/HMAC/AES-CBC/CTR 算法执行效率及RAM消耗 测试结果
- 常见加密/签名/哈希算法性能比较 (多平台 AES/DES, DH, ECDSA, RSA等)
- AES加解密效率测试(纯软件AES128/256)–以嵌入式Cortex-M0与M3 平台为例
嵌入式开发系列:
- 嵌入式学习中较好的练手项目和课题整理(附代码资料、学习视频和嵌入式学习规划)
- IAR调试使用技巧汇总:数据断点、CallStack、设置堆栈、查看栈使用和栈深度、Memory、Set Next Statement等
- Linux内核编译配置(Menuconfig)、制作文件系统 详细步骤
- Android底层调用C代码(JNI实现)
- 树莓派到手第一步:上电启动、安装中文字体、虚拟键盘、开启SSH等
- Android/Linux设备有线&无线 双网共存(同时上内、外网)
AI / 机器学习系列:
- AI: 机器学习必须懂的几个术语:Lable、Feature、Model…
- AI:卷积神经网络CNN 解决过拟合的方法 (Overcome Overfitting)
- AI: 什么是机器学习的数据清洗(Data Cleaning)
- AI: 机器学习的模型是如何训练的?(在试错中学习)
- 数据可视化:TensorboardX安装及使用(安装测试+实例演示)
PyInstaller 使用UPX压缩减少exe大小相关推荐
- pyinstaller 打包项目及使用UPX压缩
pyinstaller -F /home/xmy/server.py --upx-dir=/home/xmy/yolov5/upx.exe 整体顺序是: pyinstaller -F 待打包py文件路 ...
- pyinstaller 打包及其UPX压缩
使用pyinstaller打包文件的命令(生成单个程序.附带图标.生成在指定文件夹中.使用upx压缩): pyinstaller -F C:\Users\levovozzb\Desktop\bag\s ...
- 文档大小超出上传限制怎么办_PDF压缩不到需要的大小?减少PDF大小要这么做!...
原标题:PDF压缩不到需要的大小?减少PDF大小要这么做! 在日常的办公学习中,我们时常需要把文档上传提交到各系统.但是一般上传的文档都是有文档大小要求的.超过要求的文档,将无法上传.那么,问题来了, ...
- qt 修改.exe文件图标_如何在没有错误的情况下更改压缩的.EXE文件上的图标
qt 修改.exe文件图标 We've previously shown you how to modify the icon on an .EXE file, but if you've tried ...
- 使用PyInstaller将python打包成exe
文章目录 关于PyInstaller 打包到一个文件夹 打包成一个可执行文件 隐藏源代码 如何使用 UPX 加密python字节码 多版本 sepc文件 关于PyInstaller 将程序运行需要的包 ...
- linux 源码编译upx 压缩软件
UPX(the Ultimate Packer for eXecutables)是一个非常全面的可执行文件压缩软件,支持dos/exe.dos/com.dos/sys.djgpp2/coff. wat ...
- 怎么压缩gif图大小,gif压缩到微信表情
我们经常看到很多非常有趣的表情包或者是好看的gif动图,想保存到微信表情和分享给别人的时候,但是常常会发布出去,因为微信限制了gif图必须在1M以下大小,所以经常会发送失败就很遗憾. 所以本文我给大家 ...
- 如何将PDF压缩突破限制大小
如何将PDF压缩突破限制大小?我相信不少小伙伴在压缩PDF文件的时候都遇到这种问题,其实想要对超过规定大小的PDF文件进行压缩,只需要借助LinkPdf转换器就可以成功的进行文件压缩操作了.LinkP ...
- 如何压缩图片jpg大小?怎么缩小jpg大小kb?
我们发送jpg图片文件时为了减少传输时间会先将jpg图片压缩大小后再发送,很多小伙伴都担心普通的jpg图片压缩工具会导致图片画质被缩减.今天小编就为大家推荐一款专业的jpg图片压缩器(在线jpg压缩免 ...
最新文章
- java executequery_关于Java怎样封装executeQuery()的问题
- 20行python代码的入门级小游戏-python实现石头剪刀布小游戏
- 【C 语言】文件操作 ( 配置文件读写 | 框架搭建 | 头文件定义 | 头文件导入限制 | 兼容 C++ 语言 | 函数形参输入输出属性注释)
- ulipad install on 64bit win7 has issue
- 《敏捷可执行需求说明 Scrum提炼及实现技术》—— 1.2 识别不确定性的影响
- Linux-/proc目录简介
- maya python 游戏与影视编程指南_《Maya Python游戏与影视编程指南》【价格 目录 书评 正版】_中国图书网...
- Golang笔记-面向对象编程-多态/类型断言
- 鼎信诺oracle_鼎信诺审计系统操作说明
- 作为一个职业达人,你需要水滴石出的专注
- android 丢包率测试工具,android的ping的实现丢包率的获取
- java jstl 库下载_jar包下载,jstl.jar和standard.jar下载
- jzoj立体井字棋【数学】
- MAX25————用vray还原模型在Substance Painter的光照以及材质效果
- 计算机常见软件故障及处理,计算机常见软件故障处理
- 图形学基础|环境光遮蔽(Ambient Occlusion)
- 杭州电子科技大学acm--2018
- SpringBoot 使用异常自定义错误码
- js实现模拟自动点击按钮,并且在10秒倒计时之后疯狂点击
- mysql3306端口被占用无法终止_Mysql3306端口被占用无法启动解决办法