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的打包吧。
本文地址:https://blog.csdn.net/wbl320/article/details/107333656
上一篇: SpringBoot整合SSM