Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 28, 2016 21:27:57

ivan342
Зарегистрирован: 2016-02-28
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Распространение приложения

Подскажите как распространять приложение на python для mac os? Сейчас написал программку, а как её правильно упаковать, чтобы она была среди прочих приложений и легко запускалась не знаю.

Офлайн

#2 Фев. 28, 2016 22:45:38

vic57
Зарегистрирован: 2015-07-07
Сообщения: 908
Репутация: +  127  -
Профиль   Отправить e-mail  

Распространение приложения

Офлайн

#3 Фев. 29, 2016 07:12:29

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Распространение приложения

Маком не пользовался но я думаю vic57 дает плохой совет.

Если ваш код на питоне не требует зависимостей, то он и так будет запускаться, куда бы вы его не положили, просто добавьте права на запуск (думаю так на основе аналогии с UNIX). И весь пост лишний.

Если вы его хотите сделать принадлежностью системы, то надо делать инсталлятор.

Если зависимости есть, но только от модулей питона, то кошерный путь воспользоваться setuptools и добавить ваш модуль в pypi. Лучше сделать whl. при установке без интернета просто берете whl и ставите все командой pip.

Если есть зависимости от большого числа нестандартных бинарных модулей, имеет смысл рассмотреть
анаконду. https://www.continuum.io/downloads. Свой модуль вы можете тоже туда пихнуть. Для инсталляции например поставляете скрипт устанавливающий анаконду и ваш модуль.

Самый легкий для пользователя способ, воспользоваться менеджером пакетов данной ОС.

Для мака насколько я понимаю наиболее простые для пользователя варианты.
https://en.wikipedia.org/wiki/App_Store_(iOS)
http://brew.sh/
Но как ими пользоваться это уже вопрос к вам, как пользователю Мака.
На Appstore насколько я понимаю вам надо будет платить деньги разработчикам ОС. И эта политика у них проводится жестко в отличии от Linux.







Отредактировано doza_and (Фев. 29, 2016 07:17:36)

Офлайн

#4 Фев. 29, 2016 08:38:55

vic57
Зарегистрирован: 2015-07-07
Сообщения: 908
Репутация: +  127  -
Профиль   Отправить e-mail  

Распространение приложения

я маком пользуюсь и для себя пишу/запускаю так же как в линукс.
py2app и есть часть setuptools.
https://github.com/kaist/shoot-and-view
пример реализации
https://www.youtube.com/watch?v=5Ehhts9HhE8
здесь с картинками

Отредактировано vic57 (Фев. 29, 2016 08:43:47)

Офлайн

#5 Фев. 29, 2016 17:38:31

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Распространение приложения

vic57
py2app и есть часть setuptools.
У меня мака нет. Поэтому я сужу по документации. https://pythonhosted.org/py2app/
setuptools может много чего наделать, в том числе исполняемые модули.
Основной смысл моего послания в том что ТС не знает как распространять программу. Запаковка в исполняемый модуль тут не причем. Я считаю что для распространения паковать ее в исполняемый модуль не нужно, и более того в большинстве случаев вредно.



Офлайн

#6 Фев. 29, 2016 20:45:10

vic57
Зарегистрирован: 2015-07-07
Сообщения: 908
Репутация: +  127  -
Профиль   Отправить e-mail  

Распространение приложения

все это в маке делается штатно.
1. устанавливаем pip (если нету)
2. в консоли : pip install py2app
3. заходим в папку проэкта(к примеру ~/work)
cd work
4. py2applet myfile.py
5.получаем папку work/myfile.app - это и есть мак-приложение
ради интереса сделал на PyQt HelloWorld, получился бандл весом 83 мега -все необходимое притянулось, но тут надо копать py2app, а мне это незачем.

Офлайн

#7 Фев. 29, 2016 20:46:34

vic57
Зарегистрирован: 2015-07-07
Сообщения: 908
Репутация: +  127  -
Профиль   Отправить e-mail  

Распространение приложения

doza_and
Я считаю что для распространения паковать ее в исполняемый модуль не нужно, и более того в большинстве случаев вредно.
у мака свой формат, там типа sandbox получается. а распространяют именно бандлом, если в аппстор.
а для себя можно AppleScript сделать, или Python Launcher применить.

Отредактировано vic57 (Фев. 29, 2016 20:49:44)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version