Установка Python в ОС MacOS¶
Homebrew является очень удобным пакетным менеджером для MacOS. Все дальнейшие манипуляции по установке пакетов будут осуществлены с его использованием (где это возможно, конечно).
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Установка интерпретатора CPython¶
Пакетный менеджер pip¶
При использовании Homebrew для установки python’а pip поставится автоматически.
Виртуальное окружение Virtualenv¶
$ sudo pip install virtualenv virtualenvwrapper $ source /usr/local/bin/virtualenvwrapper.sh
Компиляция пакетов¶
Некоторые Python пакеты написаны с использование языка программирования Си, поэтому при установке они требуют компиляции. Если у вас не установлен компилятор, пакет не будет установлен.
Для успешной установки GCC необходимо наличие установленного XCode в системе.
Для старых версий MacOS необходимо установить старую же версию XCode с диска, который поставляется вместе с Вашей операционной системой.
Установка git¶
Пример¶
Склонируем репозитарий админки https://github.com/sacrud/pyramid_sacrud.git в директорию /home/user/Projects .
$ cd /home/user/Projects/ $ git clone https://github.com/sacrud/pyramid_sacrud.git
Установим pyramid_sacrud из исходных кодов.
$ cd /home/user/Projects/pyramid_sacrud $ mkvirtualenv pyramid_sacrud $ python setup.py develop
Далее установим пример pyramid_sacrud/example
$ cd /home/user/Projects/pyramid_sacrud/example $ workon pyramid_sacrud $ python setup.py develop
Пакеты устанавливаются в виртуальное окружение с названием pyramid_sacrud .
Теперь можно запустить пример:
$ cd /home/user/Projects/pyramid_sacrud/example $ workon pyramid_sacrud $ pserve development.ini
© Copyright 2020, Кафедра Интеллектуальных Информационных Технологий ИнФО УрФУ. Created using Sphinx 1.7.6.
Как создать приложение Mac OS X с Python?
P.S. Я использую два компьютера (Windows и для Mac), Python 2.7, wxPython, py2exe, py2app и pyinstaller.
Кроме того, я проверил эти сайты:
Очевидно, что почти все в компьютерах может быть каким-то образом реконструировано или декомпилировано. Я думаю, что он имеет в виду способ компиляции программы, чтобы исходный код не стоял там в ожидании чтения. В окнах вы можете построить хороший отдельно стоящий exe. Нечто подобное сделало бы. Скорее всего, 99% общих пользователей никогда не будут даже заглядывать внутрь, но для 1%, которые делают это, гарантируют, что только у 1% есть навыки, чтобы справиться с этим, а не подать его на блюдо.
12 ответов
Как настроить py2app для включения исходного кода в исполняемый файл, поэтому конечные пользователи не будут иметь доступ к моей программе?
Если вы не очень серьезно взломаете интерпретатор python (и включите искаженную версию), нет действительно хорошего способа скрыть источник от умеренно квалифицированного и определенного пользователя. Я твердо верю, что это верно и для Windows. В основном, если вы включаете истинный источник или байт-код, можно восстановить довольно чистую версию источника. Что еще более важно, на мой взгляд, если вы не включите фактический исходный код (в отличие от байт-кода, вы введете возможную зависимость от версии интерпретатора).
Как конвертировать исполняемый файл UNIX в Mac «.app»?
Что вы подразумеваете под исполняемым файлом UNIX? Бинар Дарвина (OS X) [который на самом деле не UNIX]? Это можно сделать с помощью тех инструментов, о которых вы уже упоминали, но их нужно делать осторожно, чтобы избежать зависимостей библиотек.
Если вы хотите, чтобы простая оболочка помещала в окно двоичную строку из командной строки, ее довольно легко выполнить, а в бесплатном наборе XCode есть несколько примеров, которые будут служить (в зависимости от того, какой вывод вы хотите доставить, если таковые имеются).
Есть ли способ скомпилировать код Python с GCC?
GCC не компилирует Python. Это другой язык (хотя в gcc-семействе есть инструменты, которые поддерживают несколько языковых интерфейсов, но не Python). Есть инструменты, которые пытаются перевести Python на C, а затем вы можете скомпилировать это в настоящий двоичный файл, но это работает только для программ, которые избегают определенных типов конструкций, а процесс (и ограничения) должен также применять ваши библиотеки.
Один проект, позволяющий это Китону. Он хорошо работает для некоторых типов кода, в основном числового кода, но нетривиально установить и использовать, особенно если вы хотите создать что-то, что работает на нескольких разные компьютеры.
В Windows это легко, я создал файл exe из кода Python, и он работает. Возможно ли создать одно приложение для Mac?
Я бы сказал, что я настроен скептически, очень скептически, об этом. Как и в случае с OS X, exe почти наверняка имеет исходный код, тривиально доступный внутри него.
Один довольно простой трюк — зашифровать исходный код, а затем расшифровать его на лету, но это кажется мне больше неприятностей, чем это стоит.
Большинство из этих инструментов только встраивать байткод, который не так легко декомпилировать. Это определенно возможно и проще, чем скомпилированный с помощью обратной инженерии C (хотя и не так просто, как реверсировать необъясненный Java или C #)
Обратный инжиниринг байт-кода довольно прост, на мой взгляд. Вы не получаете привлекательный обслуживаемый код, но вы раскрываете какие-либо секреты. Кроме того, некоторые из этих инструментов включают настоящий исходный код. Декомпиляция скомпилированного кода (например, C) для реверс-инжиниринга практически невозможна (да, это обобщение: я сам много раз делал это успешно и понимаю, что это можно сделать, но это качественно иное и работает только в особых случаях) ,
PyInstaller автоматически создаст пакеты под Mac OSX для оконных исполняемых файлов. При запуске ypinstaller.py обязательно передайте параметр «—windowed».
Эта функция задокументирована на веб-сайте pyinstaller