Python 打包 exe,如何减少文件大小?cv2打包错误如何解决?

Python 打包 exe,如何减少文件大小?

由于python在打包为exe会将系统下所有包一并打包。
因此我们可以使用pipenv命令构建虚拟环境以完成打包。

安装pipenv

pip install pipenv

执行命令构建虚拟环境

pipenv install

执行命令进入虚拟环境

pipenv shell

安装所需要的依赖包

pip install <package names></package>

安装打包程序

pip install pyinstaller

运行打包命令

pyinstaller -F <your program> -w</your>

备注:如需添加图标,可使用-i logo.ico 。图标文件必须为ico格式,可使用网上的在线图片格式转换器将您的图片转换为ico格式。

打包即可发现体积小于使用原系统打包。

除此之外,我们还可以使用upx压缩

https://github.com/upx/upx

UPX (the Ultimate Packer for eXecutables) 是一款先进的可执行程序文件压缩器,压缩过的可执行文件体积缩小50%-70% , 这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过 UPX 压缩过的程序和程序库完全没有功能损失和压缩之前一样可正常地运行, 对于支持的大多数格式没有运行时间或内存的不利后果。

选择python对应版本的upx并下载
https://github.com/upx/upx/releases/tag

下载后将其移动至需要打包的python文件的文件夹下解压,使压缩包内文件与需要打包的python程序处于同一文件夹下。

pyinstaller -F <your program> -w --upx-exclude=vcruntime140.dll</your>

禁用vcruntime140.dll原因可参考以下issues

https://github.com/pyinstaller/pyinstaller/issues/1565

cv2打包错误

pyinstaller打包错误:ERROR: recursion is detected during loading of “cv2” binary extensions.

降低cv2版本。

使用环境:pyintaller=4.7

pyinstaller和cv2版本存在兼容问题,卸载已有的opencv-python,安装opencv-python==4.5.3.56即可。

Original: https://blog.csdn.net/weixin_45801289/article/details/126676927
Author: Kayden~龙邵仁
Title: Python 打包 exe,如何减少文件大小?cv2打包错误如何解决?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/701907/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球