目前初学python项目,完成了一部分的脚本命令工作,但是出于创建内部孵化app,便捷操作工具。为了方便代码的“保密性”。准备提供app包形式给小伙伴使用,这里也记录一些使用打包的心得。


目前主要是使用mac打包,也主要应用于mac电脑的app,初学还没有尝试windows的打包方向。

        

        首先看推荐来讲,pyinstaller的推荐较多。我们也是用这个,其他的py2app等可以自行再去研究。

打包

1.安装工具

//安装pyinstaller工具
pip install pyinstaller

pyinstaller命令参数解释:

macbook如何把多个python文件打包为一个app mac打包python程序_python

2.对已经写好的py脚本(这里我使用的是tkinter写的一个可视化页面)

pyinstaller -D -w /Users/caoshixin/Person/CSXPythonFile/GUI/tkinter/compress.py

macbook如何把多个python文件打包为一个app mac打包python程序_Desktop_02

这里使用-D,没有使用-F来生成,主要是为了使应用运行启动快速。

  • 使用-F打包体积较小,但是双击启动回比较慢,反应1分钟,像是没点击一样。
  • -D打包生成一个文件夹,同时也会有一个app文件,文件提交较大,但是启动速度就正常了。

上面还有看到 有文章说python的虚拟环境,使用了anaconda,创建了一个纯净的python虚拟环境(这个使用py2app打包的时候说是如果不使用-A会将所有pip的本地包都打进去会造成包体积异常大,但是pyinstaller好像不会有这个问题,先使用到时候细节再研究一下,反正有了不会有坏处)。

macbook如何把多个python文件打包为一个app mac打包python程序_python_03

 点击这个环境,open in terminal,然后就能看到上面虚拟环境的终端截图了,在里面执行打败命令就好了。

  • 上面命令截图解释一下:我是自己创建了一个文件夹“新建文件夹”,没有在项目里面执行打包命令。

3.然后在dist文件夹中就能看到我们mac电脑使用的.app文件

macbook如何把多个python文件打包为一个app mac打包python程序_打包_04

app转dmg

为了方便其他人使用,我们将app打包成dmg进行转发。

在桌面新建一个文件夹dmg,将app文件放进去。

为了实现拖拽到Application的效果,需要在这个文件夹里放一个Application的替身。

cd /Users/xxxxx/Desktop/dmg
ln -s /Applications/ Applications

 打开LaunchPad — 磁盘工具

 点击 磁盘工具的目录栏,选择 文件 — 新建映像 — 来自文件夹的映像

选择目录/Users/xxxxx/Desktop/dmg

填写保存.dmg的文件名

生成成功,双击即可安装使用