简单的Pong游戏将无法作为.exe运行

时间:2020-04-17 00:01:14

标签: python pygame pyinstaller

我是这个论坛的新手,并且对Python的经验有限。自从隔离之后,我决定重新学习python。在过去的几天里,我同时使用curses和pygame制作了一些有用的游戏。这些游戏可以在我的PC上正常运行,但是我希望将它们转换为.exe格式。我使用pyinstaller来创建.exe,但是一旦尝试打开.exe文件,我的Pong游戏(使用pygame)就会崩溃。我假设它可能与pygame的导入有关。任何帮助将非常感激。

这是我在GitHub上的代码的链接: https://github.com/nick-cheshire/PythonGames-/blob/master/Pong.py

由于@TheBigKahuna,我能够创建一个.bat文件并运行它,这是我收到的错误:

``Traceback (most recent call last):
  File "Pong.py", line 137, in <module>
    pong()
  File "Pong.py", line 90, in pong
    game_font = pygame.font.Font("freesansbold.ttf", 32)
  File "site-packages\pygame\pkgdata.py", line 50, in getResource
  File "site-packages\pkg_resources\__init__.py", line 1134, in resource_exists
  File "site-packages\pkg_resources\__init__.py", line 1404, in has_resource
  File "site-packages\pkg_resources\__init__.py", line 1472, in _has
NotImplementedError: Can't perform this operation for unregistered loader type
[18912] Failed to execute script Pong``

1 个答案:

答案 0 :(得分:0)

我设法使它起作用。问题出在字体上。更改您的行

game_font = pygame.font.Font("freesansbold.ttf", 32)

使用

game_font = pygame.font.SysFont("Arial", 20)

我认为问题出在查找文件上。如果我错了,请更正。 现在,使用pyinstaller制作.exe时,请确保您的文件名为main.py,并且由于您正在构建GUI,因此需要-w(无控制台)参数。因此,我建议以管理员身份运行powershell,导航至您的main.py,然后:

pyinstaller --onefile -w main.py

希望这行得通。