Мое приложение py2app не открывается. В чем проблема?

Я пишу простую игру с python, pygame и py2app. (Я использую Python 2.6). Когда я создаю свою игру в режиме псевдонима, она работает нормально, но когда я создаю для развертывания, приложение, которое я получаю, падает сразу после обеда. Кто-нибудь знает, что происходит?


person Teak    schedule 12.08.2010    source источник
comment
Нет кода? Нет сообщений об ошибках? Нет, ничего? Как, черт возьми, вы ожидаете, что люди поймут, что не так?   -  person Mizipzor    schedule 13.08.2010
comment
При выходе сообщение об ошибке не появляется. Я понял (после того, как опубликовал вопрос), что это как-то связано со шрифтом pygame. Этого не происходит, когда я удаляю все, что связано со шрифтом. Я также считаю, что это комбинация вещей, поскольку было очень трудно точно определить.   -  person Teak    schedule 13.08.2010
comment
попробуйте посмотреть, что выводится в консоли: откройте -a Console.app, перезапустите приложение, посмотрите журнал сообщений, скопируйте и вставьте сюда.   -  person meduz    schedule 05.10.2010


Ответы (1)


Чтобы дать более исчерпывающий ответ на весь этот вопрос, я воспользуюсь примером Aliens.py. При построении в OS X вы увидите быструю вспышку, поскольку игра быстро инициализируется и закрывается. Открытие консоли показывает сообщение об ошибке, похожее на

Fatal Python error: (pygame parachute) Segmentation Fault
Job appears to have crashed: Abort trap

Я считаю, что проблема в том, что шрифт по умолчанию не включается в процесс упаковки.

Например, в образце Aliens.py добавьте поддерживаемый шрифт в папку с данными и измените

self.font = pygame.font.Font( None ), 20)

to

self.font = pygame.font.Font( os.path.join('data', 'Copperplate.ttc'), 20)

Это должно позволить приложению работать без проблем.

person scum    schedule 05.03.2011
comment
Да! Я уже узнал об этом, но это очень хороший ответ, и он абсолютно правильный! Спасибо... (Хотя немного поздно) - person Teak; 05.03.2011