macOS

Как обновить Python на macOS до последней версии: полное руководство

Стандартный Python в macOS устарел и не предназначен для разработки. Это руководство поможет вам установить актуальную версию Python 3 через Homebrew или pyenv, правильно настроить переменные окружения и избежать конфликтов с системными файлами.

Обновлено 14 февраля 2026 г.
15-30 мин
Средняя
FixPedia Team
Применимо к:macOS Sonoma 14macOS Ventura 13macOS Monterey 12Python 3.12+

Почему стандартный Python на macOS не подходит для разработки

При покупке Mac вы получаете предустановленную версию интерпретатора Python. Однако эта версия:

  1. Устарела. Apple редко обновляет системный Python, и он почти всегда отстаёт на несколько мажорных версий от актуального релиза Python Software Foundation.
  2. Закрыт для модификации. Системный Python находится в защищённой системной папке (/usr/bin/). Вы не можете его обновить через менеджер пакетов или напрямую, так как это потребует отключения SIP (System Integrity Protection) и нарушит работу macOS.
  3. Не для разработки. Он предназначен исключительно для внутренних нужд операционной системы. Установка сторонних пакетов через pip в системный Python невозможна или приведёт к конфликтам.

Правильный подход: Установить отдельную, актуальную версию Python 3 параллельно с системной, используя менеджер пакетов. Это безопасно и даёт вам полный контроль.

Способ 1: Установка через Homebrew (рекомендуемый для большинства)

Homebrew — это стандартный пакетный менеджер для macOS. Он устанавливает пакеты в свою собственную директорию (/opt/homebrew/ на Apple Silicon или /usr/local/ на Intel), не затрагивая систему.

Шаг 1: Установка Homebrew (если не установлен)

Откройте Terminal (в Applications -> Utilities или через Spotlight) и выполните команду:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Следуйте инструкциям на экране. После установки Homebrew может предложить добавить себя в ваш PATH. Сделайте это, следуя инструкциям в конце установки (обычно это добавление строки в ~/.zprofile).

💡 Совет: Проверьте установку, выполнив brew doctor. Он сообщит, если есть проблемы с конфигурацией.

Шаг 2: Установка Python

Теперь установите Python. Homebrew установит не только сам интерпретатор, но и менеджер пакетов pip, утилиты python@3.x и создаст symlink python3 в своей bin-директории.

brew update
brew install python

Эта команда установит последнюю стабильную версию Python 3 (например, 3.12.x).

Шаг 3: Настройка пути (PATH)

Это самый важный шаг, без которого система будет продолжать использовать старый Python.

  1. Определите, какой shell вы используете. Выполните echo $SHELL. Если путь заканчивается на zsh (по умолчанию в macOS Catalina и новее) — редактируйте ~/.zshrc. Если на bash~/.bash_profile или ~/.bashrc.
  2. Откройте соответствующий файл в текстовом редакторе (например, nano ~/.zshrc).
  3. В самое начало файла добавьте строку:
    export PATH="/opt/homebrew/bin:$PATH"
    
    • Для Mac с процессором Intel путь может быть /usr/local/bin:$PATH.
  4. Сохраните файл (в nano это Ctrl+X, затем Y, затем Enter).
  5. Примените изменения к текущей сессии Terminal:
    source ~/.zshrc  # или source ~/.bash_profile
    

Шаг 4: Проверка установки

Выполните команды:

python3 --version
# Ожидаемый вывод: Python 3.12.x

which python3
# Ожидаемый вывод: /opt/homebrew/bin/python3 (или /usr/local/bin/python3)

# Проверим, какая версия python по умолчанию (если вы создали symlink, см. ниже)
python --version 2>/dev/null || echo "Команда 'python' не настроена"

Если which python3 показывает путь внутри /opt/homebrew/ или /usr/local/, а не /usr/bin/ — вы на правильном пути.

(Опционально) Создание команды python

По историческим причинам многие скрипты и инструкции используют команду python, а не python3. Homebrew не создаёт symlink python по умолчанию, чтобы не конфликтовать с системным Python.

Если вы хотите, чтобы команда python вызывала ваш новый Python, создайте symlink:

brew link --overwrite python

⚠️ Важно: Эта команда создаст символьную ссылку python в /opt/homebrew/bin/. Поскольку этот путь вы добавили в начало PATH, ваша команда python теперь будет указывать на Homebrew-версию. Убедитесь, что это именно то, что вам нужно.


Способ 2: Управление версиями через pyenv (для продвинутых и многопроектных сред)

Если вам нужно часто переключаться между разными версиями Python (например, Python 3.10 для одного проекта, 3.12 для другого), используйте pyenv.

Шаг 1: Установка pyenv через Homebrew

brew install pyenv

Шаг 2: Настройка pyenv в shell

pyenv работает, подменяя команду python в вашем текущем shell. Для этого нужно добавить его инициализацию в конфигурационный файл shell (~/.zshrc или ~/.bash_profile).

Добавьте в конец файла следующие строки:

# pyenv configuration
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init --path)"
  eval "$(pyenv init -)"
  eval "$(pyenv virtualenv-init -)"  # если планируете использовать виртуальные окружения
fi

Выполните source ~/.zshrc.

Шаг 3: Установка конкретной версии Python

# Посмотреть доступные для установки версии
pyenv install --list | grep -E "^\s*3\.(10|11|12)"

# Установить нужную версию (например, 3.12.3)
pyenv install 3.12.3

# Установить другую (например, 3.10.13)
pyenv install 3.10.13

Шаг 4: Установка глобальной или локальной версии

  • Глобально (по умолчанию для всех проектов):
    pyenv global 3.12.3
    
  • Локально (только для текущей директории проекта):
    cd /путь/к/вашему/проекту
    pyenv local 3.10.13
    
    Это создаст в папке проекта файл .python-version, и при переходе в неё pyenv автоматически переключит версию Python.

Шаг 5: Проверка

python --version
# Должна отобразиться версия, установленная через pyenv (например, 3.12.3)

pyenv versions
# Покажет все установленные версии и текущую активную (*)

Настройка виртуальных окружений (обязательный следующий шаг)

Установив системный Python, вы почти сразу столкнётесь с задачей изоляции зависимостей между проектами. Никогда не устанавливайте пакеты глобально (pip install package) в ваш основной Python!

Используйте виртуальные окружения:

  1. Встроенный venv (рекомендуется):
    # Создать окружение в папке .venv
    python3 -m venv .venv
    
    # Активировать (в zsh)
    source .venv/bin/activate
    
    # Теперь pip install будет устанавливать пакеты только в это окружение
    pip install requests
    
    # Деактивировать
    deactivate
    
  2. Управление через pyenv-virtualenv (если установили pyenv):
    # Создать виртуальное окружение на основе конкретной версии Python
    pyenv virtualenv 3.12.3 myproject-env
    
    # Активировать для текущей папки
    pyenv local myproject-env
    

Проверка и дальнейшие шаги

  1. Проверьте путь. Команда which -a python3 должна показывать путь в /opt/homebrew/bin/ или ~/.pyenv/shims/ выше, чем /usr/bin/.
  2. Обновите pip. Даже новая установка Python может иметь устаревший pip. Выполните:
    python3 -m pip install --upgrade pip setuptools wheel
    
  3. Установите менеджер зависимостей. Для большинства проектов вам понадобится poetry или pipenv. Установите их глобально в ваш новый Python:
    python3 -m pip install poetry
    
  4. Удалите старые версии (опционально). Если вы устанавливали Python ранее через другие методы (например, с официального сайта python.org), их можно удалить, чтобы избежать путаницы. Обычно они находятся в /Library/Frameworks/Python.framework/.

Вы успешно обновили Python на macOS! Теперь у вас есть современный, управляемый интерпретатор, готовый к разработке на Django, FastAPI, анализу данных или автоматизации.

Часто задаваемые вопросы

Зачем обновлять Python на macOS, если он уже есть?
Можно ли удалить системный Python и заменить на новый?
Что лучше: Homebrew или pyenv для установки Python?
После установки через Homebrew команда `python` всё равно запускает старую версию. Что делать?

Полезное

Установите Homebrew (если ещё нет)
Установите Python через Homebrew
Настройте переменную PATH
Проверьте установку