Как я могу установить предыдущую версию Python 3 в macOS с помощью brew?
С помощью этой команды brew install python
я получил последнюю версию Python 3 (в настоящее время v3.7.0), но мне нужна последняя версия Python 3.6 (в настоящее время 3.6.5).
Я читал о другом пакете, pyenv
который может помочь в установке другого Python, но это решение мне не подходит.
Ответы:
Короткий ответ
Чтобы выполнить чистую установку Python 3.6.5, используйте:
Если вы предпочитаете восстановить ранее установленную версию, тогда:
Длинный ответ
Есть две формулы для установки Python с Homebrew:
python@2
иpython
.Первый предназначен для Python 2, а второй - для Python 3.
Примечание. Вы можете найти устаревшие ответы в Интернете, где он упоминается
python3
как имя формулы для установки Python версии 3. Теперь это простоpython
!По умолчанию с помощью этих формул вы можете установить последнюю версию соответствующей основной версии Python. Таким образом, вы не можете напрямую установить младшую версию, например 3.6.
Решение
С помощью
brew
вы можете установить пакет, используя адрес формулы, например, в репозитории git.Или специально для Python 3
Адрес, который вы должны указать, является адресом последней фиксации формулы (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.
источник
Error: python 3.7.0 is already installed To install 3.6.5_1, first run
brew unlink python '' при использовании 'короткого ответа'.В качестве обновления при выполнении
Вы можете столкнуться с
Чтобы обойти это, добавьте
--ignore-dependencies
аргумент brew install.источник
Я сначала установил python 3.7.
затем я установил python 3.6.5, используя ссылку выше
После этого я убежал
brew link --overwrite python
. Теперь у меня есть все питоны в системе для создания виртуальных сред.Для создания виртуальной среды Python 3.7.
Чтобы создать виртуальную среду Python 3.6
источник
python -V && python3.7 -V && python3 -V && python3.6 -V
Python 2.7.15 Python 3.7.3 Python 3.7.3 zsh: command not found: python3.6
python3 -V
дважды, вот почему вы3.7.3
дважды получаете и3.6
python3.6
под/usr/local/Cellar/python/3.6.5_1/bin
. Как только я сделал ссылку, она работает, как вы говорите. Эта система самоуправления на питоне кажется фракталом Рубина Голдберга миллиона программистов, кодирующих броуновское движение.Я попробовал все ответы выше, чтобы установить Python 3.4.4. Установка python сработала, но PIP не установился, и я ничего не мог сделать, чтобы заставить его работать. Я использовал Mac OSX Mojave, что вызывало некоторые проблемы с zlib, openssl.
Что не делать:
Решение:
ps: вам не нужно удалять другую версию Python в вашей системе.
Редактировать:
Я нашел гораздо лучшее решение, которое работает на MacOSX, Windows, Linux и т. Д.
conda init
conda create -n [NameOfYour VirtualEnvironment] python=3.4.4
conda info --envs
conda activate [The name of your virtual environment that was shown with the command at step 5]
источник
Я перепробовал все, но не смог заставить работать. Наконец, я использовал,
pyenv
и он работал прямо как шарм.Итак,
homebrew
установив, просто выполните:для управления виртуальными машинами:
См. Pyenv и pyenv-virtualenv для получения дополнительной информации.
РЕДАКТИРОВАТЬ (2019/03/19)
Я обнаружил, что использовать pyenv-installer проще, чем homebrew, для установки pyenv и pyenv-virtualenv direclty:
Чтобы управлять версией Python, либо глобально:
или локально в заданном каталоге:
источник
virtualenv
подход к его обходу .pyenv
позволяет управлять версиями python без необходимости использования venvВ случае, если кто-то столкнется с проблемой пипса, как показано ниже
Основная причина в том, что openssl 1.1 больше не поддерживает python 3.6. Итак, вам необходимо установить старую версию openssl 1.0
вот решение:
источник
Чтобы решить эту проблему
homebrew
, вы можете временно задним числомhomebrew-core
установитьHOMEBREW_NO_AUTO_UPDATE
переменную, которая будет удерживать ее на месте:Я не рекомендую постоянно обновлять homebrew-core, так как вы упустите исправления безопасности, но это полезно для целей тестирования.
Вы также можете извлечь старые версии формул домашнего пивоварения в свой собственный кран (tap_owner / tap_name), используя
brew extract
команду:источник
Самым простым способом для меня было установить Anaconda: https://docs.anaconda.com/anaconda/install/
Там я могу создать столько сред с разными версиями Python, сколько захочу, и переключаться между ними одним щелчком мыши. Что может быть проще?
Чтобы установить разные версии Python, просто следуйте этим инструкциям https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-python.html
Новая среда разработки с другой версией Python была создана за 2 минуты. А в будущем я легко могу переключаться туда и обратно.
источник