博主首先参考了网上介绍的各种打包插件,只有三种被提及的比较多:
- pyinstaller
- py2exe
- cxfreeze
考虑到软件运行的多平台性,我首先使用了pyinstaller,可以在命令行通过pip install pyinstaller 安装该插件
遗憾的是安装过程很顺利,打包的时候却无法将脚本中导入的一些自定义本地模块相应的提取为依赖文件,例如自己写的utils工具类,导致打包出来的exe文件因缺少模块无法正确运行,闪退。谷歌百度无果,遂放弃。
失败后我用到了cxfreeze,因为相比较py2exe该插件始终持续更新:
pip安装之后在本地的 Python27 下 Scripts 文件夹中缺少 cxfreeze.bat 文件,虽然已经将 Scripts路径添加至系统环境变量 Path 中,依然无法找到 cxfreeze 命令
于是我在该文件夹下自行添加了一个 cxfreeze.bat 文件,用记事本编辑内容为:
@ echo off
C:\Python27\python.exe C:\Python27\Scripts\cxfreeze %*
继续运行 cxfeeze 命令,提示安装成功。(此处是我自己的安装路径)
接着输入命令进行打包:
cxfreeze D:\hello.py F:\666 dist
D盘下为打包文件,F盘下为存放exe的位置