Короткий ответ
Чтобы выполнить чистую установку Python 3.6.5, используйте:
brew unlink python # ONLY if you have installed (with brew) another version of python 3
brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
Если вы предпочитаете восстановить ранее установленную версию, тогда:
brew info python # To see what you have previously installed
brew switch python 3.x.x_x # Ex. 3.6.5_1
Длинный ответ
Есть две формулы для установки Python с Homebrew: python@2
и python
.
Первый предназначен для Python 2, а второй - для Python 3.
Примечание. Вы можете найти устаревшие ответы в Интернете, где он упоминается python3
как имя формулы для установки Python версии 3. Теперь это просто python
!
По умолчанию с помощью этих формул вы можете установить последнюю версию соответствующей основной версии Python. Таким образом, вы не можете напрямую установить младшую версию, например 3.6.
Решение
С помощью brew
вы можете установить пакет, используя адрес формулы, например, в репозитории git.
brew install https://the/address/to/the/formula/FORMULA_NAME.rb
Или специально для Python 3
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/COMMIT_IDENTIFIER/Formula/python.rb
Адрес, который вы должны указать, является адресом последней фиксации формулы (python.rb) для желаемой версии. Вы можете найти идентификатор commint, просмотрев историю homebrew-core / Formula / python.rb
https://github.com/Homebrew/homebrew-core/commits/master/Formula/python.rb
Python> 3.6.5
В приведенной выше ссылке вы не найдете формулы для версии Python выше 3.6.5. После того, как сопровождающие этого (официального) репозитория выпустили Python 3.7, они отправляют обновления только для рецепта Python 3.7.
Как объяснялось выше, с домашним пивом у вас есть только Python 2 (python @ 2) и Python 3 (python), явной формулы для Python 3.6 нет .
Хотя эти незначительные обновления в большинстве случаев и для большинства пользователей в основном неактуальны, я буду искать, не выполнил ли кто-нибудь явную формулу для 3.6.