当我将 pygame 文件转换为 .exe 文件时,pyinstaller 说无法打开脚本 1.转换 .py 文件以查看命令提示符中的错误2.自己显示消息框

问题描述

我做了一个简单的飞翔小鸟游戏。我想将它转换为 .exe 文件,我用 pyinstaller 完成了,但是当我尝试打开 dist 文件夹中的 .exe 文件时,它显示 can't run script

然后我复制了我的 assets 文件夹并将其粘贴到 dist 文件夹中,然后它也不起作用。

我该如何让它发挥作用?

解决方法

如果您转换 .pyw 文件,则 PyInstaller 将仅在您运行时显示游戏窗口。

如果您转换 .py 文件,它还会显示命令提示符。


如果您收到消息框形式的错误,则表示在您的代码中检测到错误。由于您转换了 .pyw 文件,因此无法在命令提示符中显示错误。而是出现一个消息框。

要查看错误是什么,您可以:

1.转换 .py 文件以查看命令提示符中的错误。

然后,您可以录制屏幕并查看错误。

2.自己显示消息框

在转换文件之前,像这样编辑它:

from tkinter.messagebox import showerror
try:
    # your entire code here
except Exception as error:
    showerror('Error detected',error)

这样错误就会以这样的消息框的形式显示:


反复出现的错误:

  • 您忘记将图像放入 .exe 目录
  • pygame.font.SysFont 不起作用:改用 pygame.font.Font 并使用 .ttf 文件
  • exit() 无法识别,请改用 sys.exit()