获取更多文章和更新,请关注我的个人主页:www.leiting6.cn
常用打包工具
关于Python项目打包成可执行文件发布出来已经不是新鲜话题了,目前应用比较多的场景是在Windows和Mac环境下。大家比较常用的打包工具如下。
1. pye2exe for Windows
停更与2014年,目前只支持py2.x和py3.0-3.4;之前我自己编写的几个PyQt5工具一直用py2exe打包的,体积相对比较小,但是这几次打包总是遇到各种各样的错误,而且应用到的某些第三方库已经要求py3.5+的Python环境了,无奈只能抛弃。
2. pyinstaller for Windows and Mac
一直在更新,支持py2.7和py3.4-3.7,功能强大,Windows和Mac平台都可以使用。
3. py2app for Mac
Mac环境下使用较多的打包工具,功能比较齐全,可以通过setup.py来对打包操作进行配置。
所谓“完整打包”和“轻打包”
完整打包
介绍
完整打包即把Python脚本主体打包成当前操作系统环境下的可执行文件并附带上所需要的第三方库,一般包含各种动态链接库和其他组件。比如下面截图是我去年用PyQt5编写的一个adb工具,除了PyQt5库外,还使用了configparer库(一个用于读写ini配置文件的第三方库),以及几个Python自带的组件。这个小工具其实功能并不复杂,只是需要PyQt5来完成GUI绘制,但体积却有50+M。文件夹里面选中的部分为和PyQt5直接相关的组件,其大小总和已经达到20+M。这就是Python项目完整打包的弊端:体积过大。有兴趣的朋友可以试验一下,创建一个py脚本,只写两三句特别简单的语句,甚至不import任何模块,然后用上述几种打包软件打包成exe或者app看看成品的体积大小如何。
image.png
弊端
打包后体积大,比较占用空间,不方便传输
每次源码更新都需要重新打包,相对来说更新软件也动作也会比较大
优势
包含所有需要的组件,不依赖Python环境,不依赖第三方模块,拷贝到其他机器上可以直接运行使用
轻打包
介绍
轻打包说白了,就是创建一个启动入口