Подтвердить что ты не робот

Как создать приложение osx/dmg из пакета python?

Я хочу создать приложение mac osx из пакета python, а затем поместить его в образ диска.

Поскольку я загружаю некоторые ресурсы из пакета, пакет должен не находиться в zip файле.

Образовавшийся образ диска должен отображать фоновое изображение для "перетаскивания здесь → приложений" для установки.

4b9b3361

Ответ 1

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

Я предполагаю, что в любом каталоге, в котором я работаю, файлы Python для моей программы находятся в относительной директории src/ и что файл, который я хочу выполнить (который имеет правильные разрешения shebang и execute), называется main.py.

$ mkdir -p MyApplication.app/Contents/MacOS
$ mv src/* MyApplication.app/Contents/MacOS
$ cd MyApplication.app/Contents/MacOS
$ mv main.py MyApplication

На этом этапе у нас есть пакет приложений, который, насколько мне известно, должен работать на любой системе Mac OS с установленным Python (что, по моему мнению, по умолчанию). У него нет значка или чего-то еще, что требует добавления в пакет дополнительных метаданных, которые не нужны для моих целей, и я не знаком с ними.

Для создания установщика перетаскивания достаточно просто. Используйте Disk Utility для создания нового образа диска примерно того размера, который требуется для хранения вашего приложения. Откройте его, скопируйте приложение и псевдоним /Applications на диск, затем используйте параметры просмотра, чтобы разместить их так, как вы хотите.

Сообщение перетаскивания - это только фон образа диска, который вы также можете указать в параметрах просмотра. Я раньше этого не делал, но предположил бы, что после того, как вы выберете изображение в своем редакторе по выбору, вы можете его скопировать, установить в качестве фона, а затем использовать chflags hidden, чтобы он не загромождал ваш приятный окно.

Я знаю, что это не самые ясные, простые или подробные инструкции, но я надеюсь, что кто-то может найти их полезными.