2013-05-16 32 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