Как вы создаете приложение OSX / DMG из пакета Python? - PullRequest
24 голосов
/ 22 сентября 2008

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

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

Полученный образ диска должен отображать фоновую картинку, чтобы «перетащить сюда -> приложения» для установки.

1 Ответ

8 голосов
/ 22 сентября 2008

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

Я предполагаю, что в каком бы каталоге я ни находился, файлы 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 (который, я думаю, по умолчанию). У него нет значка или чего-либо еще, что требует добавления в пакет дополнительных метаданных, которые не нужны для моих целей, и я не знаком с ними.

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

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

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

...