【发布时间】:2019-10-22 21:30:49
【问题描述】:
我正在尝试将我在 pygame 中制作的示例游戏编译为可以在 OSX 上运行的应用程序。我一直在尝试用 py2app 做到这一点,但如果有不同的方式,我会很乐意使用它。我遇到的主要问题是我的游戏包含多个 .py 文件,main.py、settings.py、ship.py 和 game_functions.py。我在网上找到的所有文档和视频都只展示了如何使用 py2app 分发带有单个 .py 文件的 Python 应用程序,而不是多个 .py 文件。除此之外,我还有一个内容文件夹,其中包含在我的游戏中使用的图像。
我认为这与在 setup.py 文件中声明正在使用的模块/包有关,但是,我不知道该怎么做。
import pygame
from settings import Settings
from ship import Ship
import game_functions as gf
以上是我的 main.py 文件中使用的所有导入。该项目中的文件由 main.py、settings.py、ship.py 和 game_functions.py 组成。
以下是我对 setup.py 文件的尝试。
APP = ['main.py']
DATA_FILES = []
OPTIONS = {}
setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
每当我运行已编译的 .app 时,我都会收到一条错误消息,指出主要错误,并带有一个用于控制台和终止的按钮。
【问题讨论】:
-
@martineau 建议我删除我的答案。 (等待他的反馈)如果 py2app 真的不能这样做,您可以查看 pyinstaller pyinstaller.org,它应该可以完成这项工作并且可以处理多个 python 文件,只要有一个入口点(主 python 文件)导入其他人直接或间接
-
@gelonida 所以我不必为进口做任何单独的声明?所有额外的 python 文件都会自动在最终应用程序中工作?
标签: python python-3.x macos compilation