Как обновить Python на Mac OS

Обновлено: 21.11.2024

Python на Mac под управлением macOS в принципе очень похож на Python на любой другой платформе Unix, но есть ряд дополнительных функций, таких как IDE и диспетчер пакетов, на которые стоит обратить внимание.

5.1. Получение и установка MacPython¶

После установки вы получаете несколько вещей:

Папка Python 3.9 в папке приложений. Здесь вы найдете IDLE, среду разработки, которая является стандартной частью официальных дистрибутивов Python; и PythonLauncher, который обрабатывает двойные щелчки скриптов Python из Finder.

Среда /Library/Frameworks/Python.framework , включающая исполняемый файл Python и библиотеки. Установщик добавит это расположение к вашему пути к оболочке. Чтобы удалить MacPython, вы можете просто удалить эти три вещи. Символическая ссылка на исполняемый файл Python помещается в /usr/local/bin/.

IDLE включает меню справки, позволяющее получить доступ к документации по Python. Если вы новичок в Python, вам следует начать читать введение в этот документ.

Если вы знакомы с Python на других платформах Unix, вам следует прочитать раздел о запуске сценариев Python из оболочки Unix.

5.1.1. Как запустить скрипт Python¶

Лучший способ начать работу с Python в macOS – использовать интегрированную среду разработки IDLE, см. раздел IDE и использовать меню "Справка" во время работы IDE.

Чтобы запустить скрипт из окна терминала, убедитесь, что /usr/local/bin указан в пути поиска оболочки.

Чтобы запустить скрипт из Finder, у вас есть два варианта:

Перетащите его в PythonLauncher

Выберите PythonLauncher в качестве приложения по умолчанию, чтобы открыть свой скрипт (или любой скрипт .py) в информационном окне Finder, и дважды щелкните его. PythonLauncher имеет различные настройки для управления запуском вашего скрипта. Перетаскивание параметров позволяет изменить их за один вызов или использовать меню настроек для глобального изменения.

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. Подробности см. в техническом документе Apple QA1067.

Дополнительную информацию об установке пакетов Python в MacPython см. в разделе Установка дополнительных пакетов Python .

5.2. IDE¶

5.3. Установка дополнительных пакетов Python¶

Существует несколько способов установки дополнительных пакетов Python:

Пакеты можно установить в стандартном режиме Python distutils ( python setup.py install ).

5.4. Программирование с графическим интерфейсом на Mac¶

Существует несколько вариантов создания приложений с графическим интерфейсом на Mac с помощью Python.

5.5. Распространение приложений Python на Mac¶

5.6. Другие ресурсы¶

Список рассылки MacPython — отличный источник поддержки для пользователей и разработчиков Python на Mac:

В этом руководстве мы обсудим различные способы обновления Python на Mac. Мы также обсудим, как установить последнюю версию Python 3 или Python 2 на Mac.

Хотя проще всего обновить или установить последнюю версию Python на Mac с помощью официального веб-сайта Python, нам придется проверять наличие будущих обновлений вручную, проверяя сайт снова и снова.

Поэтому еще один способ обновить Python до последней версии — использовать одну команду. И мы можем легко обновить Python на macOS с помощью Homebrew.

Обновление Python на Mac с помощью Homebrew

Homebrew — это менеджер пакетов с открытым исходным кодом для macOS и Linux. Это помогает в установке и обновлении программного обеспечения через терминал. Если Homebrew не установлен на вашем Mac, вы можете установить его отсюда.

Получив Homebrew, мы можем легко установить Python на macOS с помощью следующей команды в терминале.

Мы также можем обновить версию Python 3 с 3.x до 3.y, используя следующую команду в терминале.

После установки Python 3 мы можем установить его по умолчанию для запуска программ, используя следующую команду.

Но проблема с описанным выше методом заключается в том, что в будущем будет проблематично запустить какой-либо устаревший код с использованием Python 2. Поэтому мы можем использовать псевдоним, который будет указывать на версию Python, установленную Homebrew, для запуска скриптов Python.

Если нам нужно использовать Python 2 для запуска программы, мы можем сделать это, указав двоичный путь macOS Python по умолчанию /usr/bin/python/ в начале файла кода, как показано ниже.

С помощью следующей команды мы также можем установить Python 2 на macOS.

Обновите Python с помощью установщика Python для macOS

Перед обновлением или установкой Python на Mac с помощью установщика Python в первую очередь необходимо проверить установленную версию Python на Mac. Мы можем проверить версии Python 2 и Python 3, установленные на Mac, с помощью следующих команд.

После проверки версии следующим шагом будет проверка наличия новой версии на официальном сайте. Мы можем загрузить установщик и обновить или установить нужную версию с помощью установщика Python.

Мы можем подтвердить, успешно ли установлена ​​новая версия Python, проверив версию Python с помощью тех же двух команд, что и выше.

Статьи DelftStack написаны такими же фанатами программного обеспечения, как и вы. Если вы также хотите внести свой вклад в DelftStack, написав платные статьи, вы можете посетить страницу «Написать для нас».

Статья по теме — Установка Python

сообщить об этом объявлении

Куинси Ларсон

В MacOS предустановлен Python. Но это версия Python 2.7, которая теперь устарела (заброшена сообществом разработчиков Python).

Все сообщество Python теперь перешло на использование Python 3.x (текущая версия на момент написания этой статьи — 3.9). И Python 4.x скоро выйдет, но он будет полностью обратно совместим.

Если вы попытаетесь запустить Python из терминала MacOS, вы даже увидите это предупреждение:

ВНИМАНИЕ: Python 2.7 не рекомендуется. Эта версия включена в macOS для совместимости с устаревшим программным обеспечением. Будущие версии macOS не будут включать Python 2.7. Вместо этого рекомендуется перейти на использование «python3» из Терминала.

Пока Apple не решит установить Python 3.x по умолчанию, вам придется установить его самостоятельно.

Одна команда для запуска Python 3

Для некоторых из вас, читающих это, этой команды может быть достаточно. Вы можете запустить Python 3 с помощью этой команды (с цифрой 3 в конце).

Если это все, за чем вы пришли, не беспокойтесь. Хорошего дня и удачного программирования.

Но если вы хотите, чтобы правильная система контроля версий Python отслеживала различные версии и имела точный контроль над используемой версией, в этом руководстве показано, как именно это сделать.

Между прочим, если вам интересно, почему я продолжаю ссылаться на Python 3.x — x — это замена для подверсий (или точечных выпусков, как их называют разработчики). Это означает любую версию Python 3. .

Как установить Homebrew на Mac

Сначала вам нужно установить Homebrew, мощный менеджер пакетов для Mac.

Откройте терминал. Вы можете сделать это, используя MacOS Spotlight (команда + пробел) и введя «терминал».

Теперь, когда вы находитесь в командной строке, вы можете установить последнюю версию Homebrew, выполнив эту команду:

Ваш терминал запросит доступ на уровне суперпользователя. Вам нужно будет ввести пароль для запуска этой команды. Это тот же пароль, который вы вводите при входе в свой Mac. Введите его и нажмите Enter.

Скриншот моего сильно настроенного терминала. Ваш терминал, вероятно, будет выглядеть иначе.

Homebrew попросит вас подтвердить, что вы хотите установить следующее. Вы должны нажать Enter, чтобы продолжить. (Или нажмите любую другую клавишу, если вы трусите.)

Как установить pyenv для управления версиями Python

Теперь давайте установим PyEnv. Эта библиотека поможет вам переключаться между разными версиями Python (в случае, если вам по какой-то причине нужно запустить Python 2.x и в ожидании выхода Python 4.0).

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

Установка PyEnv

Теперь вы можете установить последнюю версию Python.

Как использовать pyenv для установки или обновления версии Python

Теперь вам просто нужно выполнить следующую команду:

Обратите внимание, что вы можете заменить 3.9.2 любой последней версией Python. Например, когда выйдет Python 4.0.0, вы можете запустить это:

Устранение неполадок при установке pyenv

Если вы столкнулись с ошибкой, что «компилятор C не может создавать исполняемые файлы», самый простой способ решить эту проблему — переустановить Apple Xcode.

Xcode — это инструмент, созданный Apple, который включает все библиотеки C и другие инструменты, используемые Python при работе в MacOS. Xcode занимает колоссальные 11 гигабайт, но вам нужно быть в курсе последних событий. Вы можете запустить это, пока спите.

Вы можете получить последнюю версию Apple Xcode здесь. Мне пришлось сделать это после обновления до MacOS Big Sur, но как только я это сделал, все следующие команды работали нормально. Просто повторно запустите описанную выше pyenv install 3.9.2, и теперь она должна работать.

Как настроить PATH в MacOS для pyenv (Bash или ZSH)

Сначала вам нужно обновить путь к Unix, чтобы PyEnv мог взаимодействовать с вашей системой.

Это подробное объяснение того, как PATH работает в MacOS (и Unix), прямо из репозитория pyenv на GitHub.

Когда вы запускаете такую ​​команду, как python или pip , ваша операционная система просматривает список каталогов, чтобы найти исполняемый файл с таким именем. Этот список каталогов хранится в переменной окружения PATH, где каждый каталог в списке разделен двоеточием:

Каталоги в PATH ищутся слева направо, поэтому соответствующий исполняемый файл в каталоге в начале списка имеет приоритет над другим в конце. В этом примере сначала будет выполняться поиск в каталоге /usr/local/bin, затем /usr/bin , затем /bin .

А вот их объяснение того, что такое Шим. Я снова их подробно цитирую, потому что сам не могу объяснить это лучше.

Посредством процесса, называемого rehashing, pyenv поддерживает прокладки в этом каталоге для соответствия каждой команде Python во всех установленных версиях Python — python , pip и т. д.
< /p>

Вот как обновить ваш .bash_profile в Bash (который установлен в MacOS по умолчанию):

Или, если вы установили ZSH (или OhMyZSH), как я, вместо этого вам нужно отредактировать файл .zshrc:

Затем вы хотите добавить PyEnv Init в свой терминал. Запустите эту команду, если вы используете Bash (опять же, это значение по умолчанию для MacOS):

Или запустите эту команду, если вы используете ZSH:

Теперь перезагрузите терминал, выполнив эту команду:

Как сделать версию Python глобальной по умолчанию (Bash или ZSH)

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

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

Опять же, вы можете заменить 3.9.2 любой последней версией.

Теперь вы можете убедиться, что это работает, проверив глобальную версию Python:

Вы должны увидеть этот вывод:

* означает, что версия теперь является глобальной версией по умолчанию

Последний шаг: закройте терминал и перезапустите его

После перезапуска терминала запустите команду python, и вы запустите новую версию Python вместо старой.

Ура. Python 3.9.2 и никаких предупреждений об устаревании

Я хотел обновить свой Python 2.6.1 до версии 3.x на Mac, но мне было интересно, можно ли это сделать с помощью терминала или мне нужно загрузить программу установки с веб-сайта Python?

Причина, по которой я задаю этот вопрос, заключается в том, что программа установки не обновляет версию Python для моего терминала.

23 ответа 23

С Python по умолчанию в OS X не следует путаться, так как он используется самой ОС. Если у вас по умолчанию 2.6.1, у вас должен быть установлен Snow Leopard.

Если вы просто устанавливаете со стандартного образа диска 3.1, вы можете вызвать его с помощью python3.1 из терминала (вам не нужно выполнять никаких дополнительных действий, чтобы это заработало), и вы можете оставить обычный python как 2.6. .1.

Я этого не знал. Если я уже заменил системный питон, что мне делать? Должен ли я попытаться откатиться назад или просто остаться на месте?

@AeroWang: Если вы заменили его на 2.x, то, вероятно, безопаснее оставить его в покое. Если это Python версии 3.x, это, скорее всего, вызовет проблемы, и я бы переключил его обратно на версию 2.x, установленную по умолчанию для вашей версии OSX.

@DrFaraday Проблема в том, что подхватывается версия pip для Python 2. Вы можете принудительно использовать другую версию, запустив ее как модуль из явной версии Python, например, python3.6 -m pip install -U scikit-learn . Или просто настройте виртуальную среду и используйте ее.

Как Python 2x, так и 3x могут оставаться установленными на MAC. Mac поставляется с версией Python 2x. Чтобы проверить версию Python по умолчанию в вашем MAC, откройте терминал и введите-

Однако, чтобы проверить, установлена ​​ли у вас какая-либо из версий Python 3x, вам нужно ввести

Теперь перезапустите терминал и снова проверьте обе команды-

Надеюсь, это поможет.

используя Homebrew, просто выполните:

Какова цель копирования каталога /usr/local/bin/python3 в /usr/local/bin/python? Зачем это делать? Каков эффект от этого? Какой $PATH мы должны использовать, чтобы это правильно работало в системе Homebrew? Почему я вижу что-то в /Library/Frameworks/Python.framework/Versions/2.7/bin/python2 и /usr/local/bin/python3

@zipzit Похоже, он делает это, чтобы использовать в терминале python program.py вместо python3 program.py . Вам не нужно копировать его, если вы этого не хотите, но вам нужно будет использовать python3 вместо python для запуска ваших программ python 3.

Я слышу вас, но иногда мне нужен был python2 для запуска устаревших программ, а иногда мне нужен был python3. Вот метод, который я использовал для решения своей конкретной проблемы.

  1. brew install python --> установить последнюю версию Python.
  2. ls -l /usr/local/bin/python* --> Список всех версий Python, установленных в вашей системе.
  3. ln -s -f /usr/local/bin/python[ваша-последняя-только-установленная-версия] /usr/local/bin/python --> Изменить версию Python по умолчанию на последнюю версию.
  • Например: ln -s -f /usr/local/bin/python3.9 /usr/local/bin/python
  1. Перезапустите терминал.
  2. python --version --> Снова проверьте версию Python по умолчанию.

Эта статья помогла мне сделать правильный выбор, так как mac 10.14.6 по умолчанию поставлялся с Python 2.7*, и мне пришлось перейти на 3.7.*

Python 2.7 и Python 3 могут сосуществовать.
На терминале отображается версия Python 2.7, но вы можете вызвать ее с помощью "python3", см. это:

Хороший ответ. Но как мне запустить pip install -r requirements.txt с версией python3 на моем Mac. Как вы указали, у меня есть обе версии Python.

@R11G Я знаю, что этот комментарий немного запоздал, но для всех, у кого есть такая же проблема, вы можете просто использовать python3 -m pip install -r requirements.txt

Я считаю, что Python 3 может сосуществовать с Python 2. Попробуйте вызвать его с помощью «python3» или «python3.1». В случае сбоя может потребоваться удалить версию 2.6 перед установкой версии 3.1.

У меня была та же проблема, но после небольшого исследования я попробовал

Появится всплывающее сообщение о том, что python 3.7.0 . уже установлен, но не связан, поэтому введите команду brew link python, нажмите Enter и надейтесь, что у вас все работает правильно

Лично я бы не стал возиться с python OSX, как они сказали. Лично я предпочитаю использовать MacPorts и устанавливать нужные мне версии через командную строку. MacPorts размещает все в отдельном направлении (я полагаю, в /opt), поэтому он не переопределяет и не мешает обычной системе. Он имеет все обычные функции любых утилит управления пакетами, если вы знакомы с дистрибутивами Linux.

Я бы также предложил установить python_select через MacPorts и использовать его, чтобы выбрать, какой python вы хотите сделать «активным» (он изменит символические ссылки, чтобы они указывали на нужную вам версию). Таким образом, в любое время вы можете вернуться к поддерживаемой Apple версии Python, поставляемой с OSX, или вы можете переключиться на любую из версий, установленных через MacPorts.

Всегда лучше использовать homebrew для обновления или установки Python. В терминальном типе:

Это установит homebrew (это займет некоторое время, в зависимости от скорости вашего интернета)

Затем в терминале введите

Сначала будет запущено обновление (вам не нужно этого делать, если у вас уже есть последняя версия)

Эта сборка обновит Python до последней жизнеспособной версии.

Это должно сработать.

Иногда, когда вы устанавливаете Python из мастера установки на MAC, он не связывается с вашим профилем bash. Поскольку вы используете доморощенное пиво, просто установите python. Это установит последнюю версию Python, а затем свяжет их с помощью brew link python@3.9

Для меня это был самый простой способ. Просто для того, чтобы сделать это, вам может потребоваться добавить --overwrite, как эта ссылка на пиво, --overwrite python@3.9, чтобы принудительно удалить другие конфликты. Если вы хотите узнать, какие версии у вас есть, выполните команду ls -l /usr/local/bin/python*

Вы также можете использовать:

Если бы это был я, я бы просто оставил все как есть. Используйте python3 и pip3 для запуска ваших файлов, так как python и python3 могут сосуществовать.

brew install python3 && cp /usr/local/bin/python3 /usr/local/bin/python

Вы можете использовать приведенную выше строку, но это может иметь непредвиденные последствия.

Я рекомендую использовать pyenv для управления вашими локальными версиями Python (как 2.x, так и 3.x) вместо того, чтобы устанавливать новые версии напрямую с помощью homebrew или создавать новые версии Python из исходного кода вручную. По сути, pyenv может сделать для вас две ключевые вещи:

  • Установите разные версии Python в какой-либо каталог. Выполнение pyenv install 3.8.1 установит python 3.8.1 в ~/.pyenv/versions/3.8.1 .
  • Измените среду оболочки ( PATH ) с помощью прокладок, чтобы при выполнении pyenv local 3.8.1 вызов python вызывал новый интерпретатор вместо системного python.

Специальная установка MacOSX

Репозиторий pyenv довольно подробно описывает, как установить для разных систем и что он на самом деле делает, но вот основные шаги для Mac:

  1. Установите homebrew, если у вас его еще нет, и используйте его для установки pyenv с помощью brew install pyenv
  2. После установки pyenv обновите файл .bash_profile, включив в него:

Теперь установите какой-нибудь python с помощью pyenv, а затем переключитесь на него с помощью локальной команды pyenv (вы можете увидеть все свои версии с версиями pyenv).

pyenv install 3.8.1 && pyenv local 3.8.1

Примечание: вам может потребоваться создать новую оболочку или перезагрузить ваш bash_profile в вашей текущей оболочке, чтобы инициализация pyenv выполнила свою задачу (настроила прокладки).

Благодаря этой настройке вы сможете сохранить системный macosx python и переключиться на любую новую версию python, доступную через pyenv .

Читайте также: