鱼C论坛

 找回密码
 立即注册
查看: 1687|回复: 5

MAC封装打飞机游戏问题

[复制链接]
发表于 2023-11-16 14:04:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

dist文件夹

dist文件夹
,build\main文件夹内容如图

build\main文件夹

build\main文件夹


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

  1. luo@luodeMacBook-Pro 我写的打飞机 % pyinstaller -F -w main.py
  2. 102 INFO: PyInstaller: 6.2.0
  3. 102 INFO: Python: 3.12.0
  4. 108 INFO: Platform: macOS-14.0-arm64-arm-64bit
  5. 108 INFO: wrote /Users/luo/Documents/我写的打飞机/main.spec
  6. 111 INFO: Extending PYTHONPATH with paths
  7. ['/Users/luo/Documents/我写的打飞机']
  8. pygame 2.5.2 (SDL 2.28.3, Python 3.12.0)
  9. Hello from the pygame community. https://www.pygame.org/contribute.html
  10. 219 INFO: checking Analysis
  11. 219 INFO: Building Analysis because Analysis-00.toc is non existent
  12. 219 INFO: Initializing module dependency graph...
  13. 220 INFO: Caching module graph hooks...
  14. 224 INFO: Analyzing base_library.zip ...
  15. 588 INFO: Loading module hook 'hook-heapq.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
  16. 637 INFO: Loading module hook 'hook-encodings.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
  17. 1426 INFO: Loading module hook 'hook-pickle.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
  18. 2077 INFO: Caching module dependency graph...
  19. 2112 INFO: Running Analysis Analysis-00.toc
  20. 2112 INFO: Looking for Python shared library...
  21. 2114 INFO: Using Python shared library: /Library/Frameworks/Python.framework/Versions/3.12/Python
  22. 2114 INFO: Analyzing /Users/luo/Documents/我写的打飞机/main.py
  23. 2130 INFO: Loading module hook 'hook-pygame.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pygame/__pyinstaller'...
  24. pygame 2.5.2 (SDL 2.28.3, Python 3.12.0)
  25. Hello from the pygame community. https://www.pygame.org/contribute.html
  26. 2236 INFO: Loading module hook 'hook-pkg_resources.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
  27. 2565 INFO: Loading module hook 'hook-platform.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
  28. 2581 INFO: Loading module hook 'hook-xml.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
  29. 2595 INFO: Loading module hook 'hook-sysconfig.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
  30. 2628 INFO: Processing module hooks...
  31. 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'...
  32. 2884 INFO: Loading module hook 'hook-packaging.py' from '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/hooks'...
  33. 3113 INFO: Looking for ctypes DLLs
  34. 3120 INFO: Analyzing run-time hooks ...
  35. 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'
  36. 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'
  37. 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'
  38. 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'.
  39. 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'...
  40. 3129 INFO: Looking for dynamic libraries
  41. 3243 INFO: Warnings written to /Users/luo/Documents/我写的打飞机/build/main/warn-main.txt
  42. 3250 INFO: Graph cross-reference written to /Users/luo/Documents/我写的打飞机/build/main/xref-main.html
  43. 3321 INFO: checking PYZ
  44. 3321 INFO: Building PYZ because PYZ-00.toc is non existent
  45. 3321 INFO: Building PYZ (ZlibArchive) /Users/luo/Documents/我写的打飞机/build/main/PYZ-00.pyz
  46. 3511 INFO: Building PYZ (ZlibArchive) /Users/luo/Documents/我写的打飞机/build/main/PYZ-00.pyz completed successfully.
  47. 3513 INFO: EXE target arch: arm64
  48. 3513 INFO: Code signing identity: None
  49. 3515 INFO: checking PKG
  50. 3515 INFO: Building PKG because PKG-00.toc is non existent
  51. 3515 INFO: Building PKG (CArchive) main.pkg
  52. 7134 INFO: Building PKG (CArchive) main.pkg completed successfully.
  53. 7135 INFO: Bootloader /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/bootloader/Darwin-64bit/runw
  54. 7135 INFO: checking EXE
  55. 7135 INFO: Building EXE because EXE-00.toc is non existent
  56. 7135 INFO: Building EXE from EXE-00.toc
  57. 7135 INFO: Copying bootloader EXE to /Users/luo/Documents/我写的打飞机/dist/main
  58. 7136 INFO: Converting EXE to target arch (arm64)
  59. 7146 INFO: Removing signature(s) from EXE
  60. 7158 INFO: Appending PKG archive to EXE
  61. 7162 INFO: Fixing EXE headers for code signing
  62. 7167 INFO: Re-signing the EXE
  63. 7198 INFO: Building EXE from EXE-00.toc completed successfully.
  64. 7200 INFO: checking BUNDLE
  65. 7200 INFO: Building BUNDLE because BUNDLE-00.toc is non existent
  66. 7200 INFO: Building BUNDLE BUNDLE-00.toc
  67. 7203 INFO: Signing the BUNDLE...
  68. 7236 INFO: Building BUNDLE BUNDLE-00.toc completed successfully.
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 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 命令,然后查看生成的调试信息,看看是否能发现问题所在。

希望以上方法能够帮助你解决打飞机程序无法正常运行的问题。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-16 14:05:39 | 显示全部楼层
根据你提供的信息,看起来你使用了PyInstaller将你的打飞机程序封装成了一个可执行文件。然而,你在双击运行生成的文件时遇到了问题。

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

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

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

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

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

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

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

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

如果你仍然无法解决问题,可以提供更多关于错误信息或其他终端输出的详细信息,这样我可以更好地帮助你解决这个问题。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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 命令,出现提示如下
  1. 86 INFO: PyInstaller: 6.2.0
  2. 86 INFO: Python: 3.12.0
  3. 92 INFO: Platform: macOS-14.0-arm64-arm-64bit
  4. 92 INFO: wrote /Users/luo/Documents/我写的打飞机/dist/main.spec
  5. 95 INFO: Extending PYTHONPATH with paths
  6. ['/Users/luo/Documents/我写的打飞机/dist']
  7. pygame 2.5.2 (SDL 2.28.3, Python 3.12.0)
  8. Hello from the pygame community. https://www.pygame.org/contribute.html
  9. 208 INFO: checking Analysis
  10. 212 INFO: checking PYZ
  11. 212 INFO: EXE target arch: arm64
  12. 212 INFO: Code signing identity: None
  13. 217 INFO: checking PKG
  14. 219 INFO: Bootloader /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/bootloader/Darwin-64bit/runw_d
  15. 219 INFO: checking EXE
  16. 221 INFO: checking BUNDLE
  17. WARNING: The output directory "/Users/luo/Documents/我写的打飞机/dist/dist/main.app" and ALL ITS CONTENTS will be REMOVED! Continue? (y/N)
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-11-16 17:58:05 | 显示全部楼层
有没有大神解答一下啊 难道秒回的解答都是AI么
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-24 08:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表