2013-05-16 82 views
1

运行:
的Mac OSX山狮10.8.3
的Python 2.7.2
Pygame的1.9.2pygame.error:文件是不是Windows BMP文件

我有一个显示一个简单的Python pygame的程序一个图像在屏幕上,这在我的IDE中运行时效果很好。问题是当尝试使用py2app我得到的错误使其成为一个独立的程序:

pygame.error:文件是不是Windows BMP文件

我做了一些研究,发现它可能是pygame或SDL_image.framework的错误,所以我重新安装了两个,我得到相同的错误。但是,当我使用BMP图像时,程序工作正常,但我无法使用图像格式,例如.png或.jpg。

window.py:

import pygame,sys 
from pygame.locals import * 

pygame.init() 
size=[700,500] 
screen=pygame.display.set_mode(size) 
clock=pygame.time.Clock() 

img = pygame.image.load("Images/img.png") # Error generated here 

# -------- Main Program Loop ----------- 
while True: 
    # ALL EVENT PROCESSING SHOULD GO BELOW THIS COMMENT 
    for event in pygame.event.get(): 
     if event.type == QUIT: 
      isRunning = False 
      pygame.quit() 
      sys.exit() 

    screen.blit(img,(300,300)) 

    pygame.display.flip() 
    clock.tick(20) 

如果它是任何使用的,这里是我的setup.py文件:

from setuptools import setup 

APP = ['window.py'] 
DATA_FILES = [('', ['images'])] 
OPTIONS = {'argv_emulation': True} 

setup(
     app=APP, 
     data_files=DATA_FILES, 
     options={'py2app': OPTIONS}, 
     setup_requires=['py2app'], 
    ) 

问题解决方案2.7.2:

结果我的pygame文件已经损坏。为了解决这个问题,我用新的pygame文件替换了应用程序中的旧pygame文件。应用程序中的pygame文件夹位于“app.app/Contents/Resources/lib/python2.7/lib-dynload”。与此替换旧pygame的文件夹,并希望这将工作:

https://dl.dropboxusercontent.com/u/84011326/Youtube%20files/pygame.zip

其他的解决办法

我下载了Python版本2.7.5适用于Mac和这只是从固定不能够全部错误加载pygame调音台以便能够加载jpg和png图像。

回答

0

我遇到了同样的问题。能够用一个简单的python更新来修复它。

初学者快速求解:

  1. 安装Python 2.7.5

  2. 走进应用程序 - > Python 2.7版 - >更新壳轮廓

  3. 的Python 2.7.5应现在成为你的默认python。运行你的应用程序(在终端中),它一切正常。

这是迄今为止解决此问题最简单的方法。希望这可以帮助。

0

我是一个Python中的相对菜鸟。升级操作系统后,只安装了python 3.3.5和pygame 1.9.2(推荐)。如果pygame的这个问题不能识别非BMP图像,那么我以前的所有工作都没有运行。

在阅读了许多类似的问题后,我决定回滚版本。来自pygame站点(http://pygame.info/downloads/)的Python 3.3.0和pygame-1.9.2a0.win32-py3.3.msi不起作用。

回滚到最后一台机器python的组合3.2.3 & pygame pygame-1.9.2a0.win32-py3.2.msi似乎工作。 OS Win 7. >>> pygame.image.get_extended = 1