Useful Information Note

Python 使用 py2app 打包独立的 Mac 应用程序

创建 setup.py 文件

py2app 包含了 py2applet 工具, 用来可以快速创建 setup.py 文件:

py2applet --make-setup app.py

setup.py 文件是对应用的基本定义,配置文件 setup.py 内容如下

# -*- coding: utf-8 -*-
from setuptools import setup

APP = ['app.py']
APP_NAME = 'App'
DATA_FILES = []

OPTIONS = {
    'argv_emulation': True,
    'iconfile': 'app.icns',
    'plist': {
        'CFBundleName': APP_NAME,
        'CFBundleDisplayName': APP_NAME,
        'CFBundleGetInfoString': "UINOTE",
        'CFBundleIdentifier': "org.uinote.app",
        'CFBundleVersion': "0.0.1",
        'CFBundleShortVersionString': "0.0.1",
        'NSHumanReadableCopyright': u"Copyright © 2019, UINOTE, All Rights Reserved"
    }
}

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

当应用程序使用了其他资源文件,比如配置文件、JSON 文件、文本文件、图片等,可以将他们包含在 DATA_FILES 中。例如:

DATA_FILES = ['config.json', 'welcome.png']

构建发布版应用

当测试通过后,你可以通过调用 python setup.py py2app 来生成发布版打包程序

python setup.py py2app

此命令会将你的应用打包文件 ./dist/App.app。

当修改了程序源码、数据文件等,再次运行 py2app 命令即可重新构建,生成新的打包应用。

配置中的选项 iconfile 为程序的图标文件,如何生成 Mac 应用程序图标可以参考这篇文章:https://uinote.com/article-210.html

上一篇:Python 解析/配置 Nginx 配置文件
下一篇:Python 将列表元素由字符串转为数字