如何将自制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
相关产品推荐
相关产品推荐

