【问题标题】:How would I compile a Python program to mac that contains multiple files?如何将 Python 程序编译为包含多个文件的 mac?
【发布时间】: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


【解决方案1】:

如果你有的话,你可以使用 pyinstaller。通过转到 CMD 并输入其中写入代码的文件。然后执行“cd C:YourFilePath”。点击回车后,您可以输入“pyinstaller --onefile YourIdle.py”。然后它应该开始编译。

【讨论】:

    猜你喜欢
    • 2020-10-09
    • 1970-01-01
    • 1970-01-01
    • 2018-02-22
    • 2017-01-21
    • 2020-06-02
    • 2019-07-08
    • 2022-01-04
    • 1970-01-01
    相关资源
    最近更新 更多