upx+pyinstaller压缩python文件

1.下载upx

登陆upx官网下载相应版本的upx插件,将upx.exe放至.py文件目录下即可。
网上很多在虚拟环境或者新的python环境下使用pyinstaller打包程序,为的是防止pyinstaller打包不需要的第三方库,个人使用后发现的确在生成的dist文件下多出了几个不需要的第三方文件库,可手动删除,没有太大影响。
我这里的版本为
python 3.7.3
pyinstaller 3.6
upx 3.96-win64

2.打包

cmd cd至项目,使用pyinstaller XX.py 即可将文件打包为.exe,由于之前已将upx放至同级目录,所以打包时会默认使用upx进行压缩。

3.运行出错

如果.py文件中使用了scipy、numpy等库,生成的.exe文件可能会出现运行错误,这是由于upx将VCRUNTIME140.dll、msvcp140.dll压缩之后签名不一致导致windows不认。这里先将upx.exe从项目中移除,重新打包一个没有压缩过的文件,在这个文件中找到相应的.dll文件并替换掉之前的压缩dll文件即可。

4.总结

使用pyinstaller -F XX.py打包生成的文件虽然比较小但是运行速度巨慢,还不如使用upx压缩后的.exe运行速度,不过都挺慢的,不使用upx压缩虽然速度上满足要求但是占用体积太多。经测试可以选择将未使用upx压缩的打包文件中的dist下的文件下的所有文件夹替换掉使用upx压缩之后的文件,实现速度和体积的折中。
反正还是少使用python的打包吧。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值