我是这个论坛的新手,并且对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``
答案 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
希望这行得通。