实战|为了哄女神,我学会了程序打包
点击上方Python知识圈,设为星标
回复100获取100题PDF
阅读文本大概需要 5 分钟
作者:pk哥
公众号:Python知识圈(ID:PythonCircle)
心仪的女神突然问我。
“Python 为啥那么多人学?“
“因为简单好玩呗”
“都是密密麻麻的字母,不好玩QAQ”
“等等,我把程序打包成电脑可运行的程序,就很好玩了~”
说干就干,为了让程序在 Windows 和 Mac 系统都能运行,我们需要分开打包。
打包成Windows可执行 .exe 程序
把程序打包成可在 Windows 系统上运行的 exe 文件,给大家介绍下面的方法。
用 pyinstaller 库打包程序
用 pyinstaller 库打包 exe 应该是比较常见了。
下面是 pyinstaller 的一些参数和命令。
pyinstaller -F 文件.py 生成单个可执行文件
pyinstaller -w 文件.py 去掉控制台窗口,对于执行文件没有多大的用处,一般用于GUI面板代码文件
pyinstaller - -icon = 图标路径 表示可执行文件的图标
pyinstaller -c 使用控制台无窗口
pyinstaller -D 生成一个文件夹包括依赖文件
pyinstaller -p 添加Python使用的第三方库
pyinstaller -K 当包含tcl和tk也就是使用tkinter时加上-K参数
pyinstaller -F - -icon = 图标文件绝对路径 文件.py
我们打包常用的是 pyinstaller -F 和 pyinstaller -D。
pyinstaller -F 打包,这个之前写抢火车票程序的时候制作过打包的程序:无需Python环境,小白也可以运行的抢票程序,大家有兴趣的可以试试。
今天给大家演示的是给另一个程序打包,因为女神属猪,所以pk哥要打包一个画小猪的程序,这个程序之前写过,我就直接拿来用了。
我们在终端上先 cd 进入到程序所在的目录下。
cd /Users/brucepk/exePeppapig/
然后运行命令生成可执行的 exe 程序。
pyinstaller -F PeppaPig.py
打包好后生成三个文件,在 Windows 目录里打开 dist 文件里的 PeppaPig.exe 可执行文件。
-F 是有控制台窗口的,所以对于程序中的一些非固定的值,我们可以用 input 方法,这样我们直接运行 exe 文件,在弹出的窗口里按提示输入值再回车,这样程序就更灵活了。
pyinstaller -D 打包的方法一样的,只是文件夹里的生成的文件略有不同,但可执行文件都是在 dist 文件夹里,大家可以自己试试。
打包成Mac可执行.app文件
Windows 系统打包文件成功了,接下来说说怎么打包成 Mac 系统可执行.app文件。
下载安装 py2app
直接用 pip 命令安装,又快又省事!如果你的 pip 安装很慢的话,建议看看这篇文章:求你了,别再用 pip 那乌龟的速度去安装库了!
pip install py2app
创建 setup.py 文件
打开终端,切换到你的 py 文件所在的目录下,执行下面命令生成 setup.py 文件。
# 这是我的程序存放的路径,以你自己的路径为准
cd /Users/brucepk/githubpjt/PeppaPig
py2applet --make-setup PeppaPig.py
此时终端返回以下信息,表示执行成功。
Wrote setup.py
回到程序所在目录,我们会看到,文件夹下出现 setup.py 文件。
设置程序图标
我直接在 Easyicon 网站下载了一个 pig 图标,将图标另存为 py 文件所在的文件夹。
然后打开 setup.py 文件,修改其中OPTIONS内容:
OPTIONS = {
'iconfile':'pig.png'
}
你也可以不用打开 setup.py 文件修改内容,你可以把之前的 setup 文件删除,直接使用命令的参数模式直接生成带有图标的 setup 文件,一步到位。
py2applet --make-setup PeppaPig.py pig.png
这个命令会自动把图标信息添加到 OPTION 信息里。
发布应用
在电脑终端输入:
python3 setup.py py2app -A
此时终端返回 Done!就算发布应用成功。
「PeppaPig.app」文件会出现在工程文件目录下的 dist 文件夹中。
双击便可打开。
我把文件夹压缩后发给了女神,她打开后,高兴地说,哇,这个佩奇好可爱,比密密麻麻的字母有点意思了,我想学~,画佩奇的代码能发我下吗?
我说,在本公众号「Python知识圈」后台回复关键字「佩奇」就可以获取文中 PeppaPig.py 源码啦。说完,我拂袖而去~
往期推荐 01 02 03
↓点击阅读原文查看pk哥原创视频