Я пытаюсь получить следующее «Привет мира» 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.
Я проверю это. благодаря – RonanOD