python转成exe运行出错_使用py2exe将.py转换为.exe:无法运行程序

在尝试使用py2exe将包含pygame的Python程序转换为.exe可执行文件时,遇到运行后窗口立即关闭的问题。尽管一个简单的测试脚本转换后能正常运行,但主pygame程序的.exe却无法正常显示。代码中已经包含了事件循环,且尝试在开始处加入用户输入以防止程序快速退出,但问题依然存在。分析可能的原因与解决方案聚焦在pygame初始化或资源加载上。
摘要由CSDN通过智能技术生成

我试图用py2exe(我有python2.7)使pygame文件可执行。程序由3个脚本组成。在

我写的设置是:from distutils.core import setup

import py2exe

setup(console=["main.py"])

在命令窗口中,我运行了设置:

^{pr2}$

我在dist文件夹里找到了我的program.exe。问题是,当我运行它时,一个黑色的窗口打开并立即关闭。在

现在,我知道如果程序不等待任何输入,这是正常的,但是在我的程序中有一个while循环,应该一直持续到用户关闭游戏窗口。我也试着在程序的开头放一个原始的输入,但是它什么也没改变。在

然后我尝试创建一个非常简单的文件来测试:a = raw_input("hello")

print(a)

我把它转换成了.exe,它就可以用了。所以,我想问题出在我的pygame文件中。下面是主程序的代码(函数和类是游戏的另外两个脚本):import pygame, sys, functions

from classes import *

pygame.init()

pygame.font.init()

display_width = 600

display_height = 600

screen = pygame.display.set_mode((display_width,display_height))

menuImage = pygame.image.load("images/menu_t.jpg")

# colors

backgroundColor = (255,255,102)

buttonColor = (153,76,0)

buttonColorBright = (204,102,0)

# create tiles

for y in range(0,screen.get_height(),Tile.WIDTH):

for x in range(0,screen.get_width(),Tile.HEIGHT):

Tile(x,y)

# starting menu

while True:

screen.blit(menuImage,(0,0))

for event in pygame.event.get():

if event.type == pygame.QUIT:

pygame.quit()

sys.exit()

elif event.type == pygame.KEYUP:

if event.key == pygame.K_ESCAPE:

pygame.quit()

sys.exit()

functions.button(screen,"Play",display_width/2-50,display_height/2,100,50,buttonColor,buttonColorBright,"play_game")

functions.button(screen,"Quit",display_width/2-50,display_height/2+75,100,50,buttonColor,buttonColorBright,"quit")

pygame.display.flip()

这是主,它应该加载一个背景图像和2个按钮。可执行程序不能正常工作的原因是什么?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值