Скомпилируйте 64-битное приложение для Mac с помощью py2app

Я скомпилировал экранную заставку Python на своем Mac OS X. 10.7 с использованием py2app 0.6.3, но когда я открываю заставку в Системных настройках, я получаю следующее сообщение:

Вы не можете использовать экранную заставку Silly Balls на этом компьютере.

Я читал, что это сообщение означает, что его нужно скомпилировать для 64-битной версии.

Я использую 64-разрядную версию Python 2.7.1 в 64-разрядной системе.

Как я могу скомпилировать 64-битное приложение с py2app, чтобы пример заставки работал?


person Sindre Sorhus    schedule 19.10.2011    source источник
comment
Вы когда-нибудь находили решение этой проблемы? У меня такая же проблема. Также см. мой комментарий под ответом Майкла.   -  person Stuart Berg    schedule 26.12.2012


Ответы (1)


Что-то вроде этого — обратите внимание на «LSArchitecturePriority»: «x86_64»,

#cat ./setup.py 
"""
This is a setup.py script generated by py2applet

Usage:
    python setup.py py2app
"""

from setuptools import setup, find_packages

APP = ['YourApp.py']
DATA_FILES = []
OPTIONS = {
    'argv_emulation': False,
    'semi_standalone':'False',
    'optimize': 2,
    'includes': [
        ...
    ],
    'site_packages': 'True',
    'plist' : {
        'LSPrefersPPC' : False,
        'LSArchitecturePriority' : 'x86_64',
    }
}

setup(
    name = "YourApp",
    version = "0.0.4",
    author = "Iam",
    author_email = "[email protected]",
    description = ("An demonstration of how to create, document, and publish MacOS app"),
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)
person Michael_XIII    schedule 20.10.2011
comment
У меня та же проблема, и добавление опции LSArchitecturePriority не помогло мне. У кого-нибудь есть другие предположения? Я нашел эту ссылку: developer.apple.com/library/mac/ #qa/qa1666/_index.html, но я не знаю, как применить это предложение к моему файлу setup.py. - person Stuart Berg; 26.12.2012
comment
Извини, @Jason, я этого не сделал. Я написал Рональду Уссорену (главному разработчику PyObjC) в этом ветка электронной почты. Проблема, похоже, заключается в том, что в OS 10.6 и OS 10.7 структура заставки Apple требует, чтобы ваш код был собран с включенной сборкой мусора, но PyObjC не поддерживает GC. - person Stuart Berg; 09.06.2013
comment
Кроме того, Apple теперь изменила свое мнение о GC. Более новые фреймворки (включая фреймворк заставки в 10.8) не используют его, поэтому добавление поддержки GC в PyObjC на данном этапе было бы пустой тратой времени. Итог: заставки PyObjC не работают в 10.6 и 10.7, но 10.5 и 10.8 должны работать (хотя лично я не пробовал). - person Stuart Berg; 09.06.2013
comment
Спасибо @superbatfish. Я попытался запустить демонстрацию SillyBalls на OSX 10.8.3 и не повезло. Может быть, я свяжусь с Роном или списком рассылки. - person Jason Sundram; 10.06.2013
comment
Я связался с Джейсоном Тоффалетти, разработчиком SillyBalls, и он больше не занимается разработкой для OSX. Так что тут не помочь. - person Jason Sundram; 10.06.2013