Переключение py2app в автономном режиме?

Приложение, которое я сделал из своего скрипта с помощью py2app, не работает в более новых версиях OS X. Мне сказали, что это связано с тем, что сборка была частично автономной, то есть для нее требуется моя версия wxPython, но не не включать его. Как мне сделать его полностью автономным (где включена моя версия wxPython) или не автономным, где он использует любую версию wxPython, установленную хостом? Что было бы предпочтительнее, и как я могу проверить, что это сработало, если у меня только один Mac с одной версией wxPython?


person tkbx    schedule 28.01.2013    source источник


Ответы (1)


  1. Убедитесь, что вы используете последнюю версию py2app, похоже, они недавно решили некоторые проблемы, связанные с полуавтономным приложением, возможно, это также может повлиять на вашу сборку.
  2. Используйте Python с Python.org, а не Python от Apple, установленный вместе с ОС.
  3. Не используйте флаг --semi-standalone или подобные параметры в сценарии установки.

Это должно быть все, что нужно. В последний раз я проверял, что создание автономных приложений было по умолчанию при использовании Python.org Python, и по умолчанию оно должно копироваться в другие пакеты (включая wx), которые также импортирует ваше приложение. Вы можете заглянуть внутрь сгенерированного пакета приложений, чтобы точно увидеть, что в нем есть, а что нет, а затем при необходимости настроить сценарий установки.

person RobinDunn    schedule 28.01.2013
comment
Раньше я использовал версию 2.6, которая поставлялась в комплекте с OS X, и она казалась полуавтономной. Сейчас я использую 2.7.3 с python.org и неделю назад установил py2app. Пока я не использую --semi-standalone, это должно быть нормально? - person tkbx; 29.01.2013
comment
Судя по моему опыту работы с py2app, да. Однако в прошлом Py2app был чем-то вроде движущейся цели, поэтому отнеситесь к этому с недоверием и будьте готовы немного покопаться, если что-то не работает идеально. Например, иногда приходится явно добавлять пакеты, которые должны быть найдены автоматически и т.д. - person RobinDunn; 30.01.2013
comment
Py2app всегда создает полуавтономные пакеты, когда вы используете системную установку Python. Это делается для того, чтобы избежать копирования частей системы в пакет приложений. - person Ronald Oussoren; 20.02.2013