使用py2app在MacOS上打包Python代码
Citing Lv2

下面的命令和代码基于 Python3

py2app 可以将 python 脚本文件转换为 macOS 可以直接运行的应用程序,下面是简单的步骤。

安装 py2app

在终端中输入

1
pip3 install -U py2app

生成 setup.py 配置文件

假设我们有了一个 py 文件,文件名是 main.py

首先需要生成一个 setup.py 文件。在终端中输入下面的指令,其中的 main.py 需要根据自己要生成的 .py 文件的不同去修改。

1
py2applet --make-setup main.py

添加需要用到的外部文件

如果 py 文件里需要用到外部文件,那么需要在 setup.py 里面添加这些文件的路径。

1
2
3
4
5
6
7
8
9
10
11
12
13
from setuptools import setup

APP = ['main.py']
# 添加文件路径
DATA_FILES = ['a.txt','b.jpg']
OPTIONS = {}

setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)

更改图标(可选)

默认生成的应用程序的图标是一样的,如果想要更换图标,需要先准备好一个图标的图片,py2app 接受 icns 格式的图标文件,icns 是苹果图标文件格式,可以在 https://cloudconvert.com/ 将其他格式的图片转换成 icns 格式。

这里的图标文件是icon.icns将转换完成的图标文件放入和 py 文件同一个目录下,打开setup.py编辑,在 OPTIONS 里如下编辑。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from setuptools import setup

APP = ['main.py']
# 添加文件路径
DATA_FILES = ['a.txt','b.jpg']
# 添加需要修改的图标文件
OPTIONS = {'iconfile':'icon.icns',}

setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)

生成应用程序文件

然后再输入

1
python3 setup.py py2app -A

这里的-A一定是大写,不可以是小写的-a

此时目录里应该会多出两个文件夹,一个 build 文件夹,一个 dist 文件夹,而我们需要的应用程序就在 dist 文件夹里面。

 Comments