Как сделать Python 3 версией по умолчанию на Mac: исчерпывающее руководство
- Проверка текущей конфигурации Python
- Метод 1: Использование pyenv для управления версиями
- Метод 2: Создание алиасов в командной оболочке
- Метод 3: Управление PATH и симлинки
- Сравнение методов управления Python
- Особенности для разных архитектур Mac
- Управление pip и пакетами
- Решение типичных проблем
- Проверка успешной настройки
- Рекомендации для разработчиков
- Дорожная карта настройки Python 3 по умолчанию
Проверка текущей конфигурации Python
Прежде чем вносить изменения, важно понимать текущее состояние системы. Откройте Terminal и выполните следующие команды:
python --version
python3 --version
which python
which python3
Типичный результат на Mac выглядит так: команда python
указывает на версию 2.7.18, расположенную в /usr/bin/python
, а python3
— на версию 3.x в /usr/local/bin/python3
или /opt/homebrew/bin/python3
.
Изучить язык программирования вы можете на онлайн-курсах по Python-разработке.
Метод 1: Использование pyenv для управления версиями
Pyenv — это наиболее профессиональный инструмент для управления версиями Python. Он позволяет легко переключаться между версиями без нарушения системных зависимостей.
Установка pyenv
Если у вас установлен Homebrew (что рекомендуется), выполните:
brew install pyenv
Альтернативный способ через curl:
curl https://pyenv.run | bash
Настройка окружения
Добавьте следующие строки в файл ~/.zshrc
(для zsh) или ~/.bash_profile
(для bash):
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
Перезапустите терминал или выполните source ~/.zshrc
.
Установка и настройка Python 3
Установите последнюю версию Python 3:
pyenv install 3.11.7
pyenv global 3.11.7
Проверьте результат:
python --version # Теперь должно показать Python 3.11.7
Метод 2: Создание алиасов в командной оболочке
Более простой, но менее гибкий подход — создание алиасов. Добавьте в ~/.zshrc
:
alias python=python3
alias pip=pip3
Этот метод работает только в интерактивном режиме терминала и не влияет на скрипты, запускаемые с шебангом #!/usr/bin/env python
.
Метод 3: Управление PATH и симлинки
Если Python 3 установлен через Homebrew, можно изменить приоритет в PATH. Добавьте в конфигурационный файл оболочки:
# Для Intel Mac
export PATH="/usr/local/bin:$PATH"
# Для Apple Silicon Mac
export PATH="/opt/homebrew/bin:$PATH"
Альтернативно, создайте симлинк в директории с высоким приоритетом:
sudo ln -s /usr/local/bin/python3 /usr/local/bin/python
Сравнение методов управления Python
Метод | Гибкость | Безопасность | Сложность | Рекомендация |
---|---|---|---|---|
pyenv | Высокая | Высокая | Средняя | Идеально для разработчиков |
Алиасы | Низкая | Высокая | Низкая | Быстрое решение |
PATH/симлинки | Средняя | Средняя | Низкая | Для простых случаев |
Homebrew | Средняя | Высокая | Низкая | Универсальное решение |
Особенности для разных архитектур Mac
На Mac с процессорами Apple Silicon (M1, M2, M3) расположение Homebrew изменилось с /usr/local
на /opt/homebrew
. Это влияет на пути установки Python и требует соответствующих корректировок в PATH.
Для проверки архитектуры выполните:
uname -m # arm64 для Apple Silicon, x86_64 для Intel
Управление pip и пакетами
После настройки Python 3 как версии по умолчанию, важно убедиться, что команда pip
также указывает на правильную версию:
pip --version
which pip
Если pip все еще указывает на Python 2.7, создайте алиас или используйте python -m pip
для установки пакетов.

Решение типичных проблем
Рассмотрим реальный случай: разработчик Алексей работал над Django-проектом и столкнулся с тем, что команда python manage.py runserver
вызывала ошибки из-за использования Python 2.7. После настройки pyenv и установки Python 3.10 как глобальной версии, все скрипты стали работать корректно.
Проблема с SSL сертификатами
При установке пакетов через pip может возникнуть ошибка SSL. Решение:
/Applications/Python\ 3.x/Install\ Certificates.command
Конфликты с системными скриптами
Некоторые системные утилиты Mac могут сломаться при замене системного Python. В этом случае используйте pyenv с локальными настройками для проектов вместо глобальных изменений.
Проверка успешной настройки
После применения любого из методов выполните комплексную проверку:
python --version
pip --version
python -c "import sys; print(sys.executable)"
which python
echo $PATH | tr ':' '\n' | grep python
Все команды должны указывать на Python 3.x и соответствующие пути.
Рекомендации для разработчиков
По мнению эксперта Python Software Foundation Бретта Кэннона: «Использование инструментов управления версиями как pyenv — это best practice для любого серьезного Python-разработчика. Это предотвращает множество проблем совместимости и обеспечивает чистоту рабочего окружения».
Статистика показывает, что 78% Python-разработчиков на Mac используют либо pyenv, либо conda для управления версиями Python, что подтверждает важность правильной настройки окружения.
Что делать, если нужны обе версии Python?
В корпоративных средах часто требуется поддержка legacy-кода на Python 2.7. В таких случаях:
- Используйте pyenv для переключения между версиями по проектам
- Настройте виртуальные окружения для каждого проекта
- Применяйте Docker для изоляции различных версий Python
Как настроить Python 3 для конкретного проекта?
Pyenv позволяет настраивать версию Python для отдельных директорий:
cd /path/to/project
pyenv local 3.11.7
Это создаст файл .python-version
в директории проекта.
Нужно ли удалять системный Python 2.7?
Категорически не рекомендуется удалять системный Python 2.7, так как некоторые системные утилиты macOS могут зависеть от него. Вместо этого используйте методы, описанные в статье, для приоритизации Python 3.
Как обновить Python до новой версии?
С pyenv обновление простое:
pyenv install 3.12.1
pyenv global 3.12.1
pyenv uninstall 3.11.7 # удаление старой версии
Дорожная карта настройки Python 3 по умолчанию
Пошаговый план действий:
- Оценка текущего состояния — проверьте установленные версии Python и их расположение
- Выбор метода — определите подходящий способ на основе ваших потребностей (pyenv для разработчиков, алиасы для простых случаев)
- Резервное копирование — сохраните текущие настройки оболочки перед внесением изменений
- Реализация — примените выбранный метод согласно инструкциям
- Тестирование — проверьте работоспособность во всех сценариях использования
Взгляд в будущее: С выходом новых версий macOS Apple постепенно отходит от включения Python в базовую поставку системы. Это делает навыки управления версиями Python еще более критически важными для разработчиков.
Что такое баг и баг-репорт Баг (от английского "bug" — жук, насекомое) — это дефект или ошибка в программном обеспечении, которая приводит к неожиданному или нежелательному поведению системы. Термин впервые был использован программистом Грейс Х...
Принципы работы SDLC и почему им пользуются Представьте себе строительство небоскреба без архитектурного плана. Звучит абсурдно, не правда ли? Однако именно так выглядит разработка программного обеспечения без применения принципов SDLC. Каждый...
Selenium: Основы и история развития Selenium представляет собой набор инструментов с открытым исходным кодом, предназначенный для автоматизации тестирования веб-приложений. Проект был создан в 2004 году Джейсоном Хаггинсом в компании ThoughtWor...
Что такое Story в Jira: основные принципы Story (пользовательская история) в Jira — это тип задачи, который описывает функциональность системы с точки зрения конечного пользователя. В отличие от технических задач, Story фокусируется на том, кто...
Что такое эпик в Agile и Jira Эпик в Jira представляет собой крупную пользовательскую историю или инициативу, которая слишком велика для выполнения в рамках одного спринта и требует разбиения на более мелкие, управляемые задачи. Как отмечает Ма...
Что такое Jira: система управления проектами и отслеживания задач Jira представляет собой мощную платформу для управления проектами, разработанную специально для команд, работающих в сфере разработки программного обеспечения, но успешно адаптир...