2013-05-10 3 views
1

Я пытаюсь получить следующее «Привет мира» Pygame приложения для создания Mac OS X (10.8) приложения с помощью pyinstaller:Попытки создать Mac OS X приложение из Pygame привета мира

import pygame, sys 
import pygame._view 
from pygame.locals import * 

pygame.init() 

# set up the window 
windowSurface = pygame.display.set_mode((500, 400), 0, 32) 
pygame.display.set_caption('Hello world!') 

# set up the colors 
BLACK = (0, 0, 0) 
WHITE = (255, 255, 255) 

# draw the white background onto the surface 
windowSurface.fill(WHITE) 

# draw a black circle onto the surface 
pygame.draw.circle(windowSurface, BLACK, (250, 200), 20, 0) 

# draw the window onto the screen 
pygame.display.update() 

# run the game loop 
while True: 
    for event in pygame.event.get(): 
     if event.type == QUIT: 
      pygame.quit() 
      sys.exit() 

Файла спецификации выглядит следующим образом:

# -*- mode: python -*- 
a = Analysis(['test.py'], 
      pathex=['/Users/ronan/Documents/projects/python/test'], 
      hiddenimports=[], 
      hookspath=None, 
      runtime_hooks=None) 
pyz = PYZ(a.pure) 
exe = EXE(pyz, 
      a.scripts, 
      exclude_binaries=True, 
      name='test', 
      debug=True, 
      strip=None, 
      upx=False, 
      console=False) 
coll = COLLECT(exe, 
       a.binaries, 
       a.zipfiles, 
       a.datas, 
       strip=None, 
       upx=False, 
       name='test') 
app = BUNDLE(coll, name='test.app') 

Pyinstaller, похоже, прекрасно выполняет свою работу и создает в нем папку dist с test.app. Однако он не работает. При запуске DIST excecutable папки из командной строки вы получите следующее сообщение об ошибке:

Traceback (most recent call last): 
    File "<string>", line 11, in <module> 
    File "/Users/ronan/Documents/projects/python/test/dist/test/eggs/setuptools-0.6c12dev_r88846-py2.7.egg/pkg_resources.py", line 698, in <module> 
    ... 
    LookupError: no codec search functions registered: can't find encoding 

Я имел реальную проблему, получая в pyinstaller Windows, рабочий, но получили его сейчас. Самая сложная часть - отсутствие согласованных сообщений об ошибках. Мне очень нравится python и pygame и просто хочу преодолеть это препятствие для развертывания. Очевидно, это не мое реальное приложение, но я думаю, что если я получу этот «Hello World», работающий на Mac, в сочетании с тем, что я узнал, когда я работаю над Windows, я должен учесть его. Кроме того, я думаю, что если бы я это понял, это могло бы оказать реальную помощь любым другим разработчикам pygame.

ответ

1

Может быть лучше использовать cx_Freeze для mac

+0

Я проверю это. благодаря – RonanOD

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

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