Platypus і Packages. Створюємо і встановлюємо програми на macOS


Дуже часто буває необхідно зібрати код, написаний на Python, додаток для Windows, Linux або OS X. Так, для цього дійсно існує безліч пакетів, таких як крос-платформні cx_Freeze і PyInstaller, а також відокремлених py2exe і py2app. Але для macOS існує можливість уникнути метушні з створенням інсталяційного файлу.

Потрібно сказати, що на відміну від Windows, програма на MacOS це просто папка, з розширенням .app а ось исталлятор має розширення .pkg.

Створюємо програму


Для створення програми з скрипта, використовуємо програму Platypus. Це безкоштовно, open-source програма, що розповсюджується під ліцензією BSD. Ось так виглядає єдине головне вікно цієї програми:


  • У полі App Name вказуємо ім'я програми, як програма буде відображатися в списку програм і Launchpad-е.
  • У випадаючому списку Script Type зазначається мова скрипта, в нашому випадку це Python, можна вказати шлях до компілятору, якщо, наприклад, на комп'ютері їх кілька.
  • У полі Script Path можна створити свій новий скрипт (кнопка «+ New»), а можна вибрати вже готовий скрипт (кнопка «Select Script»).
  • У випадаючому списку Interface можна вибрати тип додатка, у разі якщо у вас консольний додаток, яке не потребує введення тексту користувачем, рекомендую вибрати Text Window.
  • Зліва від перерахованих вище полів є поле вибору іконки додатка, у складі програми йде кілька стандартних іконок, але можна вибрати свою.
  • Наступний блок полів відповідає за інформацію про програму, яка надається в стандартному меню «Про програму». Це унікальний ідентифікатор, автор програми і її версія. Крім цього, можна вказати властивості для запуску, наприклад запуск з правами адміністратора або робота в бекграунді.
  • другий за важливістю блок, це додаткові файли. Так як в MacOS додаток — це не тільки виконуваний файл, але і всі необхідні для роботи файли і папки. Натисканням на кнопку «+» можна вибрати як окремі файли, так і цілі папки.
  • Після заповнення всіх полів, кнопка «Create App» стає активною, натискаємо її і отримуємо на виході симпатичний файлик з розширенням .app.
Ми зібрали додаток, що запускається на будь-якому комп'ютері під управлінням macOS, але цього не достатньо для зручного розповсюдження та встановлення кінцевим користувачем. Тому створимо для нашої програми інсталяційний пакет.

Створюємо інсталятор


Для створення інсталяційних пакетів існує кілька програм, ми будемо використовувати Packages.



При відкритті програми Packages нам пропонується вибрати тип інсталяційного пакету, вибираємо Distibution, так як Raw Package необхідний тоді, коли потрібно встановити файли у нестандартне розташування.



В наступному вікні вибираємо ім'я і розташування проекту. Має сенс розташування вказувати робочу папку проекту. Після створення проекту відкривається наступне вікно, з великою кількістю вкладок.



Пробіжимося по них:

  • Settings — перша вкладка, тут можна задати ім'я додатка, робочу директорію, а так само необхідні умови для встановлення.
  • Presentations — на цій вкладці встановлюється зовнішній вигляд самого пакета установки, що додаються переклади на різні мови, шлях установки та інші нюанси.
  • Requirements & Resources — необхідні умови для установки і залежності. Наприклад, якщо для роботи програми необхідно Xcode Command Line Tools, то тут можна вказати, і якщо перевірка не буде пройдена, то установка отмениться.
  • Comments — вкладка виключно для нотаток розробника, являє собою величезне поле для введення тексту.


Якщо в бічному меню виділити необхідний пакет(на картинці це My), то ми побачимо наступну картину:



У вкладці Settings, вибирається ідентифікатор, версія і можна вказати, що попросити зробити користувача після встановлення (вимкнути комп'ютер, перевантажитися і завершити сеанс користувача). Крім цього можна вибрати Location і додаткові опції, наприклад введення админского пароля, зміни прав доступу до папки та інше.

У вкладці Payload відбувається основний процес, додавання файлу програми в проект. Необхідно виділити потрібну папку для встановлення програми, наприклад Applications, натиснути на кнопку «+» і вибрати вже готовий файл з розширенням .app.



У вкладці Scripts можна вибрати скрипти які запустяться до або після установки.

Після того як всі пункти виконані, потрібно зібрати проект. Це можна зробити або з меню Build —> Build або з допомогою спеціальної короткої команди ⌘B.

Після цього ви отримаєте інсталяційний файл, яким можете поділитися з вашими друзями і партнерами.

Посилання на необхідні файли і навчальне відео


Platypus — програма для збірки .app

Packages — програма для сбоки pkg

Ось це — відмінна відеоінструкція по роботі з програмою Packages

Невелике доповнення


За замовчуванням, Platypus просто запускає скрипт, але майже завжди нам треба запускати програму на комп'ютері, де не встановлений python. Для такого випадку є спеціальний лайфхак:

У Platypus в якості типу скрипта вибираєте shell script, натискаєте на + і пишете наступний код:

#!/bin/sh

/Applications/MyApp.app/Contents/Resources/compiler/bin/python /Applications/MyApp.app/Contents/Resources/main.py


Де
  • MyApp.app — це ім'я вашого додатка
  • /compiler/bin/python — шлях до компілятора
  • main.py — необхідний скрипт


Тепер, якщо ви зберете програму і перемістіть її в папку Applications, то вона запуститься зі своїм компілятором.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.