5. Использование Python на компьютере Mac¶
- Автор:
Боб Сэвидж <bobsavage@mac.com>
Python на компьютере Mac под управлением macOS в принципе очень похож на Python на любой другой платформе Unix, но есть ряд дополнительных функций, таких как интегрированная среда разработки (IDE) и менеджер пакетов, на которые стоит обратить внимание.
5.1. Получение и установка Python¶
В период между версиями 10.8 и 12.3 на macOS был предустановлен Python 2.7. Вам предлагается установить самую последнюю версию Python 3 с Python website. Там доступна текущая версия Python «universal2 binary», которая изначально работает на новых процессорах Apple Silicon для Mac и устаревших процессорах Intel.
То, что вы получаете после установки, - это несколько вещей:
Создайте папку
Python 3.10
в вашей папкеApplications
. Здесь вы найдете IDLE, среду разработки, которая является стандартной частью официальных дистрибутивов Python; и Python Launcher, которая обрабатывает скрипты на Python, вызываемые двойным щелчком мыши из Finder.Фреймворк
/Library/Frameworks/Python.framework
, который включает в себя исполняемый файл Python и библиотеки. Установщик добавит это местоположение в путь к вашей оболочке. Чтобы удалить Python, вы можете удалить эти три элемента. Символическая ссылка на исполняемый файл Python помещена в/usr/local/bin/
.
Примечание
В Mac OS 10.8-12.3 сборка Python, предоставленная Apple, установлена в /System/Library/Frameworks/Python.framework
и /usr/bin/python
соответственно. Вы никогда не должны изменять или удалять эти файлы, поскольку они контролируются Apple и используются программным обеспечением Apple или сторонних производителей. Помните, что если вы решите установить более новую версию Python с python.org, на вашем компьютере будут установлены две разные, но функциональные версии Python, поэтому важно, чтобы ваши пути и способы использования соответствовали тому, что вы хотите делать.
В IDLE есть меню «Справка», которое позволяет вам получить доступ к документации по Python. Если вы совсем новичок в Python, вам следует начать с ознакомительного руководства в этом документе.
Если вы знакомы с Python на других платформах Unix, вам следует прочитать раздел о запуске скриптов на Python из командной оболочки Unix.
5.1.1. Как запустить скрипт на Python¶
Лучший способ начать работу с Python на macOS - это использовать интегрированную среду разработки IDLE; смотрите раздел Среда IDE и используйте меню «Справка», когда среда IDE запущена.
Если вы хотите запускать скрипты на Python из командной строки окна терминала или из Finder, вам сначала понадобится редактор для создания вашего скрипта. macOS поставляется с рядом стандартных редакторов командной строки Unix, среди которых, vim nano. Если вам нужен редактор, более похожий на Mac, то BBEdit от Bare Bones Software (см. https://www.barebones.com/products/bbedit/index.html) - это хороший выбор, как и TextMate (см. https://macromates.com). В число других редакторов входят MacVim (https://macvim.org) и Aquamacs (https://aquamacs.org).
Чтобы запустить ваш скрипт из окна терминала, вы должны убедиться, что /usr/local/bin
находится в пути поиска вашей оболочки.
Чтобы запустить свой скрипт из Finder, у вас есть два варианта:
Перетащите его на Python Launcher.
Выберите Python Launcher в качестве приложения по умолчанию, чтобы открыть свой скрипт (или любой другой скрипт
.py
) в информационном окне finder и дважды щелкните по нему. Python Launcher имеет различные настройки для управления запуском вашего скрипта. Перетаскивание опций позволяет вам изменить их для одного вызова или использовать меню настроек, чтобы изменить ситуацию глобально.
5.1.2. Запуск скриптов с графическим интерфейсом¶
В старых версиях Python есть одна особенность macOS, о которой вам нужно знать: программы, которые взаимодействуют с оконным менеджером Aqua (другими словами, все, что имеет графический интерфейс), должны запускаться особым образом. Используйте pythonw вместо python для запуска таких скриптов.
В Python 3.9 вы можете использовать либо python, либо pythonw.
5.1.3. Конфигурация¶
Python на macOS поддерживает все стандартные переменные среды Unix, такие как PYTHONPATH
, но установка этих переменных для программ, запускаемых из Finder, является нестандартной, поскольку Finder не считывает ваши .profile
или .cshrc
при запуске. Вам необходимо создать файл ~/.MacOSX/environment.plist
. Подробности смотрите в Technical Q&A QA1067 от Apple.
Для получения дополнительной информации об установке пакетов Python смотрите раздел Установка дополнительных пакетов Python.
5.2. Среда IDE¶
Python поставляется со стандартной средой разработки IDLE. Подробное руководство по использованию IDLE можно найти по адресу https://www.hashcollision.org/hkn/python/idle_intro/index.html.
5.3. Установка дополнительных пакетов Python¶
Этот раздел был перенесен в раздел Python Packaging User Guide.
5.4. Программирование с графическим интерфейсом¶
Существует несколько вариантов создания графических приложений на Mac с помощью Python.
PyObjC - это язык Python, привязанный к платформе Apple Objective-C/Cocoa, которая является основой большинства современных разработок для Mac. Информация о PyObjC доступна по ссылке https://pypi.org/project/pyobjc/.
Стандартный набор инструментов Python GUI - это tkinter
, основанный на кроссплатформенном наборе инструментов Tk (https://www.tcl.tk). Версия Tk, ориентированная на Aqua, поставляется в комплекте с OS X от Apple, и последнюю версию можно загрузить и установить с сайта https://www.activestate.com; она также может быть собрана из исходного кода.
Доступен ряд альтернативных наборов инструментов с графическим интерфейсом macOS:
PySide: Официальные привязки Python к Qt GUI toolkit.
PyQt: Альтернативные привязки Python к Qt.
Kivy: Кроссплатформенный инструментарий с графическим интерфейсом, поддерживающий настольные и мобильные платформы.
Toga: Часть BeeWare Project; поддерживает настольные, мобильные, веб- и консольные приложения.
wxPython: Кроссплатформенный инструментарий, поддерживающий настольные операционные системы.
5.5. Распространение приложений на Python¶
Существует целый ряд инструментов для преобразования вашего кода на Python в отдельное распространяемое приложение:
py2app: Поддерживает создание пакетов для mac OS
.app
из проекта на Python.Briefcase: Часть BeeWare Project; кроссплатформенного инструмента для упаковки, который поддерживает создание
.app
пакетов в Mac OS, а также управление подписью и нотариальным заверением.PyInstaller: Кроссплатформенный инструмент для упаковки, который создает отдельный файл или папку в качестве распространяемого артефакта.
5.6. Другие ресурсы¶
Список рассылки Pythonmac-SIG - это отличный ресурс поддержки для пользователей Python и разработчиков на Mac:
https://www.python.org/community/sigs/current/pythonmac-sig/
Еще одним полезным ресурсом является MacPython wiki: