我希望能够将python 3 pygame 1.9.4项目(在Windows 10计算机上)的.py转换为.exe,并且我已经通过使用自动py成功转换了一些文件到exe(一个文件,基于控制台) ): https://nitratine.net/blog/post/auto-py-to-exe/。 例如,我尝试转换此网站上的代码: http://openbookproject.net/thinkcs/python/english3e/pygame.html。那就是:
Vue.prototype.$toggleBodyClass
.exe文件在打开时会正常运行。但是,我编写的某些程序在转换后只能部分运行。 这样的程序之一是:
import pygame
def main():
""" Set up the game and run the main game loop """
pygame.init() # Prepare the pygame module for use
surface_sz = 480 # Desired physical surface size, in pixels.
# Create surface of (width, height), and its window.
main_surface = pygame.display.set_mode((surface_sz, surface_sz))
# Set up some data to describe a small rectangle and its color
small_rect = (300, 200, 150, 90)
some_color = (255, 0, 0) # A color is a mix of (Red, Green, Blue)
while True:
ev = pygame.event.poll() # Look for any event
if ev.type == pygame.QUIT: # Window close button clicked?
break # ... leave game loop
# Update your game objects and data structures here...
# We draw everything from scratch on each frame.
# So first fill everything with the background color
main_surface.fill((0, 200, 255))
# Overpaint a smaller rectangle on the main surface
main_surface.fill(some_color, small_rect)
# Now the surface is ready, tell pygame to display it!
pygame.display.flip()
pygame.quit() # Once we leave the loop, close the window.
main()
转换为exe后,当我打开它时,会出现一些有关pygame的文本,以及要弹出的屏幕,其中显示了我设置的标题(“某些标题”)。但是,弹出的屏幕是黑色的,过了一会儿关闭,没有显示应该显示的内容。但是,我确实得到了我的exe文件,没有任何错误(无论如何我都可以在用于转换的GUI输出中看到它,即将py自动转换为exe)。因此,在寻找解决方案时,我找到了这个网站: https://nitratine.net/blog/post/issues-when-using-auto-py-to-exe/。
关于错误消息和常规信息很多,但是我看到的有关打开的程序但在关闭前没有做应做的事情是
终端只是打开和关闭,但如果您没有错误, 双击运行您的Python脚本,会发生什么?它打开了吗 还关吗?这意味着该工具已正确完成了其工作,并且 脚本按预期完成。
您很可能认为输出应该保持可见,因为 总是使用IDLE或IDE,这就是这些工具的作用。添加一个 脚本末尾的类似于input()的语句来阻止执行 然后等待您按Enter键,然后再关闭。
这不是解决我的问题的方法,因为如果我双击python脚本,我的程序就会工作。但是,我认为这是有好处的,即我的代码中可能存在某些无法很好地处理转换的问题,这很可能是因为http://openbookproject.net/thinkcs/python/english3e/pygame.html的代码在转换为.exe后仍能正常工作方法。
因此,我的问题是,是什么使我的代码在从.py转换为.exe之后无法正常工作?,并且在这种情况下,它可以通过什么方式修复? ?。知道什么有效,而不是将.py转换为.exe时,将使更多程序在.exe下正常运行。
谢谢