Развертывание приложения Python+зависимости на OSX из Ubuntu

Предыстория: я пишу некоммерческое приложение на Python, которое использует wxPython и зависит от pyPortMidi и SciPy (оба доступны на PyPi). Я хотел бы поделиться этим с небольшим кругом пользователей Mac, которые живут в разных странах.

Я работаю над Ubuntu и не имею доступа к системам OSX для тестирования.

Что мне нужно: удобный для конечного пользователя способ развертывания моего приложения, особенно с учетом зависимостей

Что я нашел на данный момент:

  • Как и Ubuntu, OSX поставляется с собственным пакетом Python.
  • Этот ответ предлагает py2app. Однако из документации неясно, могу ли я построить приложение OSX на платформе Ubuntu. То же самое с cx-Freeze.

Конкретные вопросы:

  1. Могу ли я использовать py2app для создания приложения OSX в Ubuntu? И будут ли он автоматически включать вышеуказанные зависимости, или мне нужно как-то указать это?

  2. Если нет, могу ли я написать какой-нибудь сценарий OSX, который безболезненно установит зависимости пакета (возможно, используя простую установку) в системе конечного пользователя? Я раньше не использовал distutils и не знаком со сценариями OSX, поэтому любые указатели будут оценены!

Извиняюсь за нубские вопросы, заранее спасибо.


person ScissorHill    schedule 26.07.2013    source источник


Ответы (3)


Вы можете использовать py2exe для Windows

Заморозить в Linux и, как вы говорите, py2app для Mac

person Victor Castillo Torres    schedule 26.07.2013
comment
Извините, но это вообще не отвечает на мои конкретные вопросы. Я не спрашивал о Windows и Linux, и я уже упоминал py2app, поэтому я не совсем понимаю полезность этого ответа. Спасибо в любом случае. - person ScissorHill; 26.07.2013
comment
т. е. вы можете создать приложение с помощью Freeze, это добавит зависимости, и иногда приложение работает на Mac. - person Victor Castillo Torres; 26.07.2013

py2app не работает на компьютерах, отличных от Mac. Как предложил @victor-castillo-torres, взгляните на Freeze, что также предлагается в связанном списке рассылки.

person Bouke    schedule 26.07.2013

  1. Py2app работает только в системах OSX, код не поддерживает создание пакетов для других платформ, кроме той, на которой он работает. То есть py2app использует текущую установку python для построения графа зависимостей и копирует файлы, упомянутые в этом графе, в пакет приложения.

  2. С точки зрения создания скрипта для установки зависимостей для вашего скрипта OSX похожа на любую другую систему Unix, но с другими библиотеками графического интерфейса. Сценарий, который использует easy_install для установки зависимостей, может работать, хотя я не знаю, легко ли доступны все ваши зависимости таким образом (в частности, wxPython).

person Ronald Oussoren    schedule 26.07.2013