You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将自制Python游戏分享给未安装Python、Pygame的好友?

py2app 打包Pygame游戏分步教程

你的项目文件结构参考如下:
项目文件结构


前置说明

py2app是macOS专属的Python应用打包工具,打包生成的.app文件仅能在macOS系统运行,如果你需要给Windows系统的好友分发,可以改用PyInstaller工具,操作逻辑与本教程基本一致。


操作步骤

1. 安装py2app

打开终端进入你的项目根目录,激活你开发游戏用的Python环境后执行安装命令:
pip install py2app

2. 生成基础配置文件

执行如下命令生成打包用的setup.py文件,注意将main.py替换为你实际的游戏入口文件名:
py2applet --make-setup main.py

3. 修改配置文件适配资源文件

你项目中assets文件夹下的图片、音效等资源默认不会被自动打包,需要手动修改生成的setup.py,参考如下结构调整:

from setuptools import setup

# 替换为你的游戏入口文件名
APP = ["main.py"]
# 配置要打包的资源,这里直接打包整个assets文件夹
DATA_FILES = ["assets"]
OPTIONS = {
    "argv_emulation": True,
    # 声明用到的第三方依赖包
    "packages": ["pygame"],
    # 如有自定义icns格式图标可以加上这行,没有就删掉
    "iconfile": "game_icon.icns"
}

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

注意:你的游戏代码中所有资源加载路径请用相对路径,不要用绝对路径,避免打包后资源找不到

4. 测试打包

先打测试包验证功能是否正常,测试包打包速度快,关联你本地的环境,仅用于本地测试:
python setup.py py2app -A
打包完成后当前目录会生成build和dist两个文件夹,打开dist文件夹里的.app文件,验证游戏是否能正常运行、所有资源是否加载正常。

5. 正式打包

测试没问题后,先删掉之前生成的build、dist、.eggs三个文件夹,避免缓存影响正式包,再执行正式打包命令:
python setup.py py2app
打包完成后dist文件夹里的.app就是最终可分发的文件,压缩后发给好友即可,对方不需要安装Python和Pygame就能直接运行。


常见问题处理

  • 好友打开时提示「无法打开,因为来自身份不明的开发者」:右键点击应用,选择「打开」即可正常启动,后续打开不需要重复操作
  • 打包后打开提示资源缺失:检查setup.py中DATA_FILES的路径配置是否正确,代码里的资源路径是否为相对路径
  • 应用体积过大:可以在OPTIONS中添加"excludes": ["未用到的包名"],排除不需要的依赖包减小体积

内容的提问来源于stack exchange,提问作者arian_lrd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:06:10