2013-05-16 2 views
1

Running:
Mac OSX горный лев 10.8.3
Python 2.7.2
Pygame 1.9.2pygame.error: Файл не файл Windows, BMP

У меня есть простой питон программа, которая отображает 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

Другое решение

Я скачал питона версии 2.7.5 для Mac и это просто исправлены все ошибки от не в состоянии для загрузки микшера pygame в возможность загрузки изображений jpg и png.

ответ

0

Я столкнулся с той же проблемой. Удалось исправить это с помощью простого обновления python.

быстрое решение для начинающих:

  1. установить Python 2.7.5

  2. Перейти в Приложения -> Python 2.7 -> Обновление Shell профиль

  3. Python 2.7.5 должен теперь это ваш python по умолчанию. Запустите приложение с этим (в терминале), и все это работает.

Это, безусловно, самый простой способ обойти эту проблему. Надеюсь это поможет.

0

Я относительный noob в python. Просто установите python 3.3.5 и pygame 1.9.2 (как рекомендуется) после обновления ОС. Если бы эта проблема с pygame не распознавала изображения без BMP, поэтому вся моя предыдущая работа не выполнялась.

После прочтения многих подобных проблем здесь и в других местах я решил отказаться от версий. Python 3.3.0 и pygame-1.9.2a0.win32-py3.3.msi с сайта pygame (http://pygame.info/downloads/) не работает.

Откат назад к комбинации последнего машинного python 3.2.3 & pygame pygame-1.9.2a0.win32-py3.2.msi, похоже, работает. OS Win 7. >>> pygame.image.get_extended = 1

 Смежные вопросы

  • Нет связанных вопросов^_^