Как распространить приложение для ОС Ma c, чтобы его можно было запустить, дважды щелкнув по нему? - PullRequest
2 голосов
/ 09 марта 2020

Цель

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

То, что я пробовал до сих пор

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

Я также пытался создать «установочный файл», это просто файл с расширением .command, который по сути такой:

#!/bin/bash
cd -- "$(dirname "$BASH_SOURCE")"
sudo chmod a+x MyApplication
exit 0

Но это та же проблема, что и выше - файл не имеет разрешения на запуск по умолчанию.

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

1 Ответ

2 голосов
/ 09 марта 2020

Platypus позволяет встраивать скрипты на разных языках (включая Python) в приложения OSX. Python обычно устанавливается в более новых версиях OSX, так что может не потребоваться поставлять сам Python, а приложение может быть небольшого размера файла.

Как правило, приложения OSX на самом деле являются папками , может быть стоит упаковать папку перед отправкой по электронной почте как

tar cjf YourApp.tbz YourApp

, где YourApp - папка, содержащая приложение. OSX распознает расширение tbz и распакует приложение / папку при двойном щелчке, скажем, в разделе «Загрузки» или на рабочем столе, где пользователь может затем дважды щелкнуть приложение для его запуска.

tar cjf archive.tbz singlefile

также будет работать для архивирование одного файла, в котором tar сохранит исполняемый файл и другие флаги.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...