使用py2exe将.py转换为.exe:无法运行程序

时间:2017-04-03 10:55:40

标签: python pygame executable py2exe

我试图用py2exe创建一个pygame文件可执行文件(我有Python 2.7)。该程序由3个脚本组成。

我将设置写为:

from distutils.core import setup
import py2exe
setup(console=["main.py"])

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

setup.py py2exe

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

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

然后我尝试创建一个非常简单的文件进行测试:

a = raw_input("hello")
print(a)

我将它转换为.exe并且它有效。所以,我猜这个问题出在我的pygame文件中。这是main的代码(函数和类是游戏的另外两个脚本):

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个按钮。可执行程序无法正常工作的原因是什么?

0 个答案:

没有答案