Короткий ответ
Чтобы сделать чистую установку 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.
Как объяснено выше, с homebrew у вас есть только Python 2 (python @ 2) и Python 3 (python), нет явной формулы для Python 3.6 .
Хотя эти незначительные обновления в большинстве случаев и для большинства пользователей в основном не имеют значения, я буду искать, если кто-то сделал явную формулу для 3.6.