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






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