Использование python в части приложения Какао - Как мне упаковать .py в приложение? - PullRequest
3 голосов
/ 05 апреля 2011

Я пишу приложение Какао, которое использует Python для выполнения некоторых вычислений и манипулирования данными.У меня есть класс Objective-C, который я использую для запуска скриптов Python через Python API .В настоящее время я могу без проблем вызвать Python, используя API и ссылку на Python.framework.

Сейчас я смотрю, как упаковать код вместе.Насколько я понимаю, код Python будет включен как часть комплекта .app, возможно, в папке ресурсов.Я столкнулся с тем, что py2app обсуждается во многих местах, но, похоже, он используется, только если ваше приложение полностью написано на Python;Я не думаю, что это решение моей проблемы.Как правильно упаковать код с моим приложением?Могу ли я отправить .pyc вместо .py файла?

1 Ответ

2 голосов
/ 05 апреля 2011

Вы можете использовать py2app для компиляции NSBundle, который может быть загружен во время выполнения (вы можете добавить этот загружаемый пакет в папку PlugIns / Plug вашего приложения). Однако, хотя вначале довольно легко приступить к работе, в PyObjC или py2app возникает ошибка, приводящая к значительным утечкам памяти в зависимости от API вашего плагина (см. http://sourceforge.net/tracker/?func=detail&aid=1982104&group_id=14534&atid=114534).

Более сложный, но более безопасный подход заключается в создании ссылок на Python.framework. Затем вы можете сохранить ваши файлы .py в каталоге Resources / комплекта приложения и загрузить их через стандартный API встраивания CPython.

Не включайте только файлы .pyc. Формат pyc - это деталь реализации, на которую не следует полагаться в будущих версиях Python.

...