1.Overview
写这个的目的就是为了后面有Python代码编写的软件能够方便使用.可是总不可能逮着个人就发个源码过去让人装个Pyhton环境吧,然后还让人下载各种各样的离线包或者在线库文件.这不符合我们装逼的规范,那么需求来了,打包成一个可执行文件,说搞就搞.
1.经过实验,我们将软件需要的环境全部封装在软件包里面.这样可以避免其他电脑缺少环境而需要安装其他离线包或者在线包的库文件.省了安装的时间.
2.该软件包会比Pyhton源代码站的内存要大一点.(仁者见仁智者见智)
一整套流程下来可以在vault看到dist文件夹,文件夹内容如下:
2.安装pyinstaller
pyinstaller是一个第三方库,它能够在Windows、Linux、 Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个 独立文件方便传递和管理。
PyInstaller支持Python 2.7和Python 3.3+。可以在Windows、Mac OS X和Linux上使用,但是并不是跨平台的,而是说你要是希望打包成.exe文件,需要在Windows系统上运行PyInstaller进行打包工作;打包成mac app,需要在Mac OS上使用。
1. 终端输入$ pip install pyinstaller
更新:pip install --upgrade pyinstaller
注意:
1.PyInstaller 库会自动将 PyInstaller 命令安装到 Python 解释器 目录中,与 pip 或 pip3 命令路径相同,因此可以直接使用。
2.Windows上运行PyInstaller还需要PyWin32或者pypiwin32,其中pypiwin32在你安装PyInstaller的时候会自动安装。
3.MAC打包
1. 终端输入$ pip install pyinstaller
更新:pip install --upgrade pyinstaller
成功安装之后.
2.进入应用入口文件所在路径
$ cd XXXX
3.MAC打包
$ sudo pyinstaller -w --clean -p 依赖包路径 入口文件.py
依赖包路径:即你需要调用的库文件.
一般在Framework下.这里我是
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages
4.windos打包
$pyinstaller -F -p 依赖包路径 入口文件.py
以下我将着重介绍mac环境下打包之后一键启动.
4.配置脚本
成功打包之后,我们会在当前目录路径下生成一个dist文件夹和.spec文件.我们需要的软件资源包就在dist目录下.
1.进入终端创建一个shell脚本.ex:vim 1.sh.
我们需要将可执行文件的路径配置到里面去,为了方便通用.这里我将整个dist软件包放在valut目录下,这样不管谁启动都是相同的路径不会报错.
2.我们可以直接运行这个shell脚本. ./1.sh
此时会提示权限不够,直接拉满:
sudo chmod 777 1.sh.
然后再运行就成功了.
3.生成Unix可执行域 --- 找到该shell文件,显示简历,将他的后缀名改成.command,然后把扩展名字去掉就成功了.
4.生成的这个Unix可执行文件可以放在任何地方启动,只要和你shell脚本调用的路径一致即可.
而且同样可以打开终端信息
5.示例
至此我们已经简单的完成了一个app的一键启动,而且这个脚本的位置不管放在哪里,我们都可以启动.比如我们把可执行文件放到桌面上双击就可以打开我们想要的软件界面.只要shell里面配置的路径是一致的就行,最好是放在/vault目录下或者其他通用的路径.
为了方便调试或者后续如果有使用python代码的软件需要时,特意做了以下工作.通过搜索一些资料和学习,将整个Python代码封装成软件包.参考Xcode编译生成的.app文件,将资源包和库文件封装在App里面,双击就可以启动.或者双击可执行文件打开终端启动.(我更推荐第二种,可以查看到终端信息)
以上是Python如何打包成软件包的操作教程,采用这种方式可以避免新电脑或者调试的电脑出现缺少环境或者缺少库而打不开python代码的情况.
仅供参考!