默认的python解释器在pyinstaller(pygame)

时间:2017-03-04 13:14:10

标签: python pygame

我正在使用pygame在2048年做一个项目。

双击时程序运行正常,也可以通过命令提示符运行。 < - 这是使用c:\​​ Python27 \ python.exe

但是,当我使用pyinstaller尝试将其更改为exe时,以下代码会出错:

class newSprite(pygame.sprite.Sprite):
    def __init__(self,filename):
        if filename != "0.png":
            pygame.sprite.Sprite.__init__(self)
            self.images=[]
            self.images.append(loadImage(filename))
            print(self.images[0])
            self.image = pygame.Surface.copy(self.images[0])
            self.currentImage = 0
            self.rect=self.image.get_rect()
            self.rect.topleft=(0,0)
            self.mask = pygame.mask.from_surface(self.image)
            self.angle = 0

做的:

gameboard = newSprite("game board.png")

原因

TypeError:descriptor "copy" requires a pygame.surface object but received a "Nonetype".

当我使用c:\​​ Windows \ py.exe运行脚本时,我收到同样的错误。

我怀疑Pyinstaller使用c:\​​ Windows \ py.exe而不是c:\ Python27 \ python.exe作为其解释器。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

文件名中有一个空格:" game_ space _board.png"。这通常会导致错误,应该避免。说实话,我不知道这是否是你问题的根本原因,但值得一试。