疯狗马德森 发表于 2023-11-16 14:04:16

MAC封装打飞机游戏问题

把打飞机程序封装完,出现dist和build两个文件夹,dist中出现两个文件:main(无后缀)、main.app,但是这两个都无法运行,双击没有反应。
dist文件夹内容如图,,build\main文件夹内容如图

最后附终端中pyinstaller的命令以及提示

luo@luodeMacBook-Pro 我写的打飞机 % pyinstaller -F -w main.py
102 INFO: PyInstaller: 6.2.0
102 INFO: Python: 3.12.0
108 INFO: Platform: macOS-14.0-arm64-arm-64bit
108 INFO: wrote /Users/luo/Documents/我写的打飞机/main.spec
111 INFO: Extending PYTHONPATH with paths
['/Users/luo/Documents/我写的打飞机']
pygame 2.5.2 (SDL 2.28.3, Python 3.12.0)
Hello from the pygame community. https://www.pygame.org/contribute.html
219 INFO: checking Analysis
219 INFO: Building Analysis because Analysis-00.toc is non existent
219 INFO: Initializing module dependency graph...
220 INFO: Caching module graph hooks...
224 INFO: Analyzing base_library.zip ...
588 INFO: Loading module hook 'hook-heapq.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
637 INFO: Loading module hook 'hook-encodings.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
1426 INFO: Loading module hook 'hook-pickle.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
2077 INFO: Caching module dependency graph...
2112 INFO: Running Analysis Analysis-00.toc
2112 INFO: Looking for Python shared library...
2114 INFO: Using Python shared library: /Library/Frameworks/Python.framework/Versions/3.12/Python
2114 INFO: Analyzing /Users/luo/Documents/我写的打飞机/main.py
2130 INFO: Loading module hook 'hook-pygame.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pygame/__pyinstaller'...
pygame 2.5.2 (SDL 2.28.3, Python 3.12.0)
Hello from the pygame community. https://www.pygame.org/contribute.html
2236 INFO: Loading module hook 'hook-pkg_resources.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
2565 INFO: Loading module hook 'hook-platform.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
2581 INFO: Loading module hook 'hook-xml.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
2595 INFO: Loading module hook 'hook-sysconfig.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
2628 INFO: Processing module hooks...
2866 INFO: Loading module hook 'hook-platformdirs.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/_pyinstaller_hooks_contrib/hooks/stdhooks'...
2884 INFO: Loading module hook 'hook-packaging.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
3113 INFO: Looking for ctypes DLLs
3120 INFO: Analyzing run-time hooks ...
3121 INFO: Including run-time hook '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks/rthooks/pyi_rth_inspect.py'
3122 INFO: Including run-time hook '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks/rthooks/pyi_rth_pkgres.py'
3124 INFO: Including run-time hook '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks/rthooks/pyi_rth_pkgutil.py'
3126 INFO: Processing pre-find module path hook _pyi_rth_utils from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks/pre_find_module_path/hook-_pyi_rth_utils.py'.
3126 INFO: Loading module hook 'hook-_pyi_rth_utils.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
3129 INFO: Looking for dynamic libraries
3243 INFO: Warnings written to /Users/luo/Documents/我写的打飞机/build/main/warn-main.txt
3250 INFO: Graph cross-reference written to /Users/luo/Documents/我写的打飞机/build/main/xref-main.html
3321 INFO: checking PYZ
3321 INFO: Building PYZ because PYZ-00.toc is non existent
3321 INFO: Building PYZ (ZlibArchive) /Users/luo/Documents/我写的打飞机/build/main/PYZ-00.pyz
3511 INFO: Building PYZ (ZlibArchive) /Users/luo/Documents/我写的打飞机/build/main/PYZ-00.pyz completed successfully.
3513 INFO: EXE target arch: arm64
3513 INFO: Code signing identity: None
3515 INFO: checking PKG
3515 INFO: Building PKG because PKG-00.toc is non existent
3515 INFO: Building PKG (CArchive) main.pkg
7134 INFO: Building PKG (CArchive) main.pkg completed successfully.
7135 INFO: Bootloader /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/bootloader/Darwin-64bit/runw
7135 INFO: checking EXE
7135 INFO: Building EXE because EXE-00.toc is non existent
7135 INFO: Building EXE from EXE-00.toc
7135 INFO: Copying bootloader EXE to /Users/luo/Documents/我写的打飞机/dist/main
7136 INFO: Converting EXE to target arch (arm64)
7146 INFO: Removing signature(s) from EXE
7158 INFO: Appending PKG archive to EXE
7162 INFO: Fixing EXE headers for code signing
7167 INFO: Re-signing the EXE
7198 INFO: Building EXE from EXE-00.toc completed successfully.
7200 INFO: checking BUNDLE
7200 INFO: Building BUNDLE because BUNDLE-00.toc is non existent
7200 INFO: Building BUNDLE BUNDLE-00.toc
7203 INFO: Signing the BUNDLE...
7236 INFO: Building BUNDLE BUNDLE-00.toc completed successfully.

isdkz 发表于 2023-11-16 14:04:31

根据你提供的信息,你使用了PyInstaller来封装你的打飞机程序。在终端中执行了 pyinstaller -F -w main.py 命令后,生成了dist和build两个文件夹,但是双击dist文件夹中的main(无后缀)和main.app文件都无法运行。

根据终端中的输出信息,PyInstaller成功地生成了main.app文件,但是可能存在一些问题导致无法正常运行。首先,尝试在终端中进入dist文件夹,并执行 ./main 命令,看看是否会输出一些错误信息。另外,也可以尝试在终端中执行 open main.app 命令,看看是否会有错误提示。

如果以上方法无法解决问题,建议你检查一下打飞机程序的依赖项和资源文件是否正确打包到了dist文件夹中。有时候PyInstaller在打包过程中可能会漏掉一些依赖项或资源文件,导致程序无法正常运行。

另外,也可以尝试使用PyInstaller的 --debug 选项来生成调试信息,以便更好地定位问题所在。在终端中执行 pyinstaller --debug=all -F -w main.py 命令,然后查看生成的调试信息,看看是否能发现问题所在。

希望以上方法能够帮助你解决打飞机程序无法正常运行的问题。

Mike_python小 发表于 2023-11-16 14:05:39

根据你提供的信息,看起来你使用了PyInstaller将你的打飞机程序封装成了一个可执行文件。然而,你在双击运行生成的文件时遇到了问题。

这个问题可能是由于以下几个原因导致的:

1. 缺少依赖项:封装过程中可能没有包含所有的依赖项,导致程序无法正常运行。你可以尝试手动将所需的依赖项添加到dist文件夹中,以确保程序能够正常加载它们。

2. 兼容性问题:封装程序时使用的Python版本和当前系统环境不兼容,导致无法正常运行。你可以尝试使用与你的操作系统和Python版本相匹配的PyInstaller版本进行封装。

3. 错误的打包选项:在封装过程中,可能选择了错误的打包选项,导致生成的可执行文件无法正常运行。你可以检查一下你使用的PyInstaller命令中的参数是否正确。

对于这个问题,我建议你尝试以下步骤:

1. 确保你已经安装了所有的依赖项,并且这些依赖项在封装后的程序中都被正确地包含进去。

2. 检查你使用的PyInstaller版本是否与你的操作系统和Python版本相匹配。

3. 尝试使用不同的打包选项进行封装,并查看是否能够生成可以正常运行的可执行文件。

如果你仍然无法解决问题,可以提供更多关于错误信息或其他终端输出的详细信息,这样我可以更好地帮助你解决这个问题。

疯狗马德森 发表于 2023-11-16 14:17:20

isdkz 发表于 2023-11-16 14:04
根据你提供的信息,你使用了PyInstaller来封装你的打飞机程序。在终端中执行了 pyinstaller -F -w main.py...

在终端中进入dist文件夹,并执行 ./main 命令可以执行游戏,但是等待很久才打开;
在终端中执行 open main.app 命令,没有任何提示,等几秒出现一个黑框,转瞬即逝;
在终端中执行 pyinstaller --debug=all -F -w main.py 命令,出现提示如下
86 INFO: PyInstaller: 6.2.0
86 INFO: Python: 3.12.0
92 INFO: Platform: macOS-14.0-arm64-arm-64bit
92 INFO: wrote /Users/luo/Documents/我写的打飞机/dist/main.spec
95 INFO: Extending PYTHONPATH with paths
['/Users/luo/Documents/我写的打飞机/dist']
pygame 2.5.2 (SDL 2.28.3, Python 3.12.0)
Hello from the pygame community. https://www.pygame.org/contribute.html
208 INFO: checking Analysis
212 INFO: checking PYZ
212 INFO: EXE target arch: arm64
212 INFO: Code signing identity: None
217 INFO: checking PKG
219 INFO: Bootloader /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/bootloader/Darwin-64bit/runw_d
219 INFO: checking EXE
221 INFO: checking BUNDLE
WARNING: The output directory "/Users/luo/Documents/我写的打飞机/dist/dist/main.app" and ALL ITS CONTENTS will be REMOVED! Continue? (y/N)

疯狗马德森 发表于 2023-11-16 14:29:00

本帖最后由 疯狗马德森 于 2023-11-16 14:32 编辑

Mike_python小 发表于 2023-11-16 14:05
根据你提供的信息,看起来你使用了PyInstaller将你的打飞机程序封装成了一个可执行文件。然而,你在双击运 ...

Python版本为3.12.0封装命令为pyinstaller -F -w main.py,pyinstaller工具是直接在终端里pip安装的,版本6.2.0

请问依赖项是什么意思?打飞机程序就是用的小甲鱼的,里面有好几个文件夹,主程序就是main.py,其他还有声音文件夹图像文件夹和bullet.py,myplane.py,enemy.py等

请问这么多文件的话,是直接pyinstaller 主程序main.py吗?

疯狗马德森 发表于 2023-11-16 17:58:05

有没有大神解答一下啊{:10_266:} 难道秒回的解答都是AI么{:10_266:}
页: [1]
查看完整版本: MAC封装打飞机游戏问题