实战为了哄女神我学会了程序打包

2020-12-22 22:23 Python知识圈

点击上方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 源码啦。说完,我拂袖而去~

加微信送《Python知识点100题PDF》

pk哥个人微信


添加pk哥个人微信即送Python资料


Python知识点100题的PDF

Python相关的电子书10本


记得备注:“100题”




往期推荐
01

公众号所有文章汇总导航(2-10更新)

02

Python100例(附PDF下载地址)

03

求你了,别再用 pip 那乌龟的速度去安装库了!


点击阅读原文查看pk哥原创视频

我就知道你“在看”

本文章转载自公众号:PythonCircle

首页 - Python 相关的更多文章: