Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将包含多个文件的Python程序编译到mac?_Python_Python 3.x_Macos_Compilation - Fatal编程技术网

如何将包含多个文件的Python程序编译到mac?

如何将包含多个文件的Python程序编译到mac?,python,python-3.x,macos,compilation,Python,Python 3.x,Macos,Compilation,我正在尝试将我在pygame中制作的一个示例游戏编译成一个可以在OSX上运行的应用程序。我一直在尝试用py2app来实现这一点,但如果有不同的方法,我会很乐意使用它。我遇到的主要问题是,我的游戏包含多个.py文件:main.py、settings.py、ship.py和game_functions.py。我在网上找到的所有文档和视频都只展示了如何使用py2app来分发包含单个.py文件的Python应用程序,而不是多个.py文件。除此之外,我还有一个内容文件夹,其中有一个用于我的游戏的图像 我假

我正在尝试将我在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'],
)

每当我运行compiled.app时,我都会收到一条错误消息,上面写着Main error,还有一个控制台和终止按钮。

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

如果有,您可以使用pyinstaller。通过转到CMD并输入包含代码的文件。然后执行“cd C:YourFilePath”。点击enter键后,可以输入“pyinstaller--onefile YourIdle.py”。然后应该开始编译。

@martineau建议我删除我的答案。(等待他的反馈)如果py2app真的做不到这一点,你可以看看pyinstaller,它应该在做这项工作,并且可以处理多个python文件,只要有一个入口点(主python文件)直接或间接导入其他入口点indirectly@gelonida所以我不需要为进口做任何单独的申报?所有额外的python文件都会在最终应用程序中自动运行?@martineau建议我删除我的答案。(等待他的反馈)如果py2app真的做不到这一点,你可以看看pyinstaller,它应该在做这项工作,并且可以处理多个python文件,只要有一个入口点(主python文件)直接或间接导入其他入口点indirectly@gelonida所以我不需要为进口做任何单独的申报?所有额外的python文件将自动在最终应用程序中工作?