程序封装指把程序脚本进行一些打包、解析、整合处理生成一个新的文件。封装的好处是,其他没有安装(python)的电脑也能运行该程序,也能实现该程序的结果。
Python有常用封装包pyinstaller、Nuitka、py2exe等。本文主要介绍pyinstaller的封装使用方法。
1.创建虚拟环境
创建虚拟环境,可查看之前的文章。
Python搭建虚拟环境 (Anaconda)
如果有学过flask或者Django的,应该知道虚拟环境的必要性。虚拟环境是新建一个纯净的环境,在该环境里搭架自己的项目。
pyinstaller直接在现有的环境打包之后,因它会关联该环境其他相关的包,打包后文件会非常的大,因此需要建立虚拟环境,只需在该虚拟环境pip该打包脚本程序的库,然后再打包封装程序,之后的文件会小很多。我的虚拟环境已搭建好,这里就不再重新搭建,我虚拟环境是用的py3.7版本。虚拟环境我命名为py3.7.
2.激活虚拟环境
已经激活虚拟环境py3.7。pip list可查看该虚拟环境已经安装了哪些包。
本次脚本程序主要用到pyinstaller、pandas和ortools包,之前已安装至虚拟环境py3.7。现在尝试一下该环境是否能正常运行python程序。
该环境程序运行正常。
3.打包程序
程序脚本放在了d盘,按绝对路径读取脚本程序。
打包程序 pyinstaller -F D:\excel\distance.py
稍等几分钟。
程序已打包成功了。
4.运行打包文件。
现已关掉python程序,点开打包的exe文件即可运行。该程序的功能是:读取文件目录的距离矩阵,调用ortools包搜索最短路程, 自动计算出最优路径。程序运行结果如下。
5.pyinstaller打包封装的其他指令
pyinstaller有一个要注意的地方,32位电脑操作系统打包文件可在32位和64位电脑操作系统运行;64位操作系统打包文件只能在64位电脑操作系统上运行,其与32位系统不兼容。
另外pyinstaller可以和gui包进行结合制作复杂交互界面的插件,之后有时间我会再出一篇常用gui包pyqt5或tkinter的文章。