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 и устаревших процессорах Intel в Mac.
После установки вы получите несколько вещей:
Папка
Python 3.14
в вашей папкеApplications
. В ней вы найдете IDLE - среду разработки, которая входит в состав официальных дистрибутивов Python, и Python Launcher, которая обрабатывает двойной щелчок на Python-скриптах из Finder.Фреймворк
/Library/Frameworks/Python.framework
, включающий исполняемый файл Python и библиотеки. Программа установки добавляет это место в путь к вашей оболочке. Чтобы удалить Python, вы можете удалить эти три вещи. Симлинк на исполняемый файл Python помещен в/usr/local/bin/
.
Примечание
В macOS 10.8-12.3 сборки Python, предоставляемые Apple, устанавливаются в папки /System/Library/Frameworks/Python.framework
и /usr/bin/python
соответственно. Их не следует изменять или удалять, поскольку они контролируются Apple и используются программами Apple и сторонних разработчиков. Помните, что если вы решите установить более новую версию Python с сайта python.org, у вас на компьютере будет две разные, но функциональные установки Python, поэтому важно, чтобы ваши пути и использование соответствовали тому, что вы хотите сделать.
В IDLE есть меню Help, которое позволяет вам получить доступ к документации по Python. Если вы совсем новичок в Python, вам стоит начать читать введение в учебник в этом документе.
Если вы знакомы с Python на других платформах Unix, вам стоит прочитать раздел о запуске скриптов Python из оболочки Unix.
5.1.1. Как запустить сценарий Python¶
Лучший способ начать работу с Python на macOS - это интегрированная среда разработки IDLE; смотрите раздел IDE и используйте меню Help, когда IDE запущена.
Если вы хотите запускать скрипты Python из командной строки окна Terminal или из 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. Программирование графического интерфейса¶
Существует несколько вариантов создания GUI-приложений на Mac с помощью Python.
PyObjC - это привязка на языке Python к фреймворку Apple Objective-C/Cocoa, который является основой большинства современных разработок для Mac. Информацию о PyObjC можно найти по адресу pyobjc.
Стандартный набор инструментов графического интерфейса Python - tkinter
, основанный на кроссплатформенном наборе инструментов Tk (https://www.tcl.tk). Aqua-native версия Tk поставляется Apple в комплекте с macOS, а последнюю версию можно загрузить и установить с сайта https://www.activestate.com; ее также можно собрать из исходных текстов.
Существует ряд альтернативных наборов инструментов графического интерфейса macOS:
PySide: Официальные привязки Python к Qt GUI toolkit.
PyQt: Альтернативные привязки Python к Qt.
Kivy: Кроссплатформенный набор инструментов графического интерфейса, поддерживающий настольные и мобильные платформы.
Toga: Часть BeeWare Project; поддерживает настольные, мобильные, веб- и консольные приложения.
wxPython: Кроссплатформенный набор инструментов, поддерживающий настольные операционные системы.
5.5. Распространение приложений Python¶
Существует целый ряд инструментов для преобразования вашего кода на Python в автономное распространяемое приложение:
py2app: Поддержка создания пакетов для macOS
.app
из проекта Python.Briefcase: Часть BeeWare Project; кроссплатформенный инструмент для упаковки, поддерживающий создание
.app
пакетов на macOS, а также управление подписанием и нотариальным заверением.PyInstaller: Кроссплатформенное средство упаковки, создающее один файл или папку в качестве распространяемого артефакта.
5.6. Другие ресурсы¶
Список рассылки Pythonmac-SIG - это отличный ресурс поддержки для пользователей и разработчиков Python на Mac:
https://www.python.org/community/sigs/current/pythonmac-sig/
Еще один полезный ресурс - вики MacPython: