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:

https://wiki.python.org/moin/MacPython