使用 py2app 打包 Python 应用程序为 macOS 应用
创始人
2025-05-06 17:45:55

py2app 是一个将 Python 脚本打包为 macOS 应用程序的工具。下面是一个完整的使用示例:

基本使用步骤

1. 安装 py2app

bash

pip install py2app

2. 创建简单的 setup.py 文件

假设你有一个名为 myapp.py 的 Python 脚本:

python

# myapp.py

import tkinter as tk

from tkinter import messagebox

def main():

root = tk.Tk()

root.title(" eikkafy.com ")

label = tk.Label(root, text="Hello, py2app!")

label.pack(padx=20, pady=20)

button = tk.Button(root, text="Click Me", command=lambda: messagebox.showinfo("Info", "You clicked the button!"))

button.pack(pady=10)

root.mainloop()

if __name__ == "__main__":

main()

3. 创建 setup.py 文件

python

# setup.py

from setuptools import setup

APP = ['myapp.py']

DATA_FILES = []

OPTIONS = {

'argv_emulation': True,

'iconfile': 'app.icns', # 可选的应用图标

'plist': {

'CFBundleName': "MyApp",

'CFBundleDisplayName': "My Python App",

'CFBundleIdentifier': "com.example.myapp",

'CFBundleVersion': "1.0.0",

'CFBundleShortVersionString': "1.0",

}

}

setup(

app=APP,

data_files=DATA_FILES,

options={'py2app': OPTIONS},

setup_requires=['py2app'],

4. 构建应用程序

在终端运行:

bash

python setup.py py2app

这将在 dist 目录下生成一个 .app 文件。

高级选项示例

包含数据文件和资源

python

# setup.py

from setuptools import setup

APP = ['myapp.py']

DATA_FILES = [

('Resources', ['data/config.json', 'images/logo.png']),

('Documents', ['README.txt'])

]

OPTIONS = {

'argv_emulation': True,

'includes': ['PIL', 'numpy'], # 包含额外的模块

'packages': ['requests'], # 包含整个包

'iconfile': 'app.icns',

'plist': {

'NSHumanReadableCopyright': '© 2023 My Company',

'LSUIElement': True, # 设置为后台应用(无Dock图标)

}

}

setup(

app=APP,

data_files=DATA_FILES,

options={'py2app': OPTIONS},

setup_requires=['py2app'],

使用 Alias 模式(开发模式)

在开发时,可以使用 alias 模式,这样修改代码后无需重新构建:

bash

python setup.py py2app -A

常见问题解决

模块未包含:如果运行时提示缺少模块,在 OPTIONS 中添加 'includes' 或 'packages'

图标设置:

创建 app.icns 文件(可以使用在线工具将 PNG 转换为 ICNS)

放在项目根目录或指定路径

Python 3 兼容性:

确保使用支持 Python 3 的 py2app 版本

在 setup.py 中可能需要指定 python_version

清理构建文件:

bash

python setup.py py2app --clean

完整工作流程示例

创建项目结构:

myapp/

├── myapp.py

├── setup.py

├── app.icns

└── data/

└── config.json

运行构建命令:

bash

cd myapp

python setup.py py2app

运行生成的应用程序:

bash

open dist/MyApp.app

注意:py2app 主要用于 macOS 系统,如果你需要在其他平台上打包,可以考虑:

Windows: py2exe 或 cx_Freeze

Linux: cx_Freeze 或 PyInstaller

跨平台: PyInstaller

相关内容

热门资讯

玩家亲测!星悦游戏辅助神器(透... 玩家亲测!星悦游戏辅助神器(透视)发牌系统(有挂技巧)-哔哩哔哩 科技详细教程;757446909。...
分享教程!牛牛房卡购买充值/斗... 分享教程!牛牛房卡购买充值/斗牛上哪儿购买房卡要素一(KK)咨询房/卡添加微信:【56001354】...
一分钟了解!微扑克ai软件(透... 1、不需要AI权限,帮助你快速的进行wepoke计算辅助教程,沉浸在游戏的游玩之中。2、里面整个we...
一分钟了解!aapoker有伙... 一分钟了解!aapoker有伙牌的(透视)ai辅助(有挂分享)-哔哩哔哩;小薇(透视辅助)致您一封信...
玩家必备攻略!白金岛三打哈辅助... 相信很多朋友都在电脑上玩过白金岛三打哈辅助工具吧,但是很多朋友都在抱怨用电脑玩起来不方便。为此小编给...