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.