Довольно сложно управляться с несколькими версиями Python на одном ноутбуке. Хотя это довольно распространённая ситуация. Обычно у разработчиков несколько проектов, требующих разных версий Python. В целом есть несколько вариантов для решения этой задачи, но моим любимым остаётся pyenv в компании с плагином pyenv‑virtualenv. Раньше я использовал «голый» Homebrew, но это далеко не так гибко и удобно.
Установка
$ brew update
$ brew install pyenv
$ brew install pyenv-virtualenv
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
Базовый шаблон использования
Настоятельно рекомендую делать отдельные виртуальные окружения для каждого проекта. Иногда бывает необходимо делать даже несколько окружений для одного проекта. К примеру, если хочется использовать mypy для проекта на Python 2.
В первую очередь проверяем доступные версии:
$ pyenv install --list
Список впечатляет: помимо CPython есть PyPy и Stackless Python. Если последней версии в списке нет, надо обновить формулу для Homebrew:
$ brew upgrade pyenv
Обычно новая версия появляется в списке через день‑два.
Подготовка виртуального окружения для проекта делается в 3 шага:
- Установить подходящую версию Python, если её ещё нет.
- Сделать виртуальное окружение.
- Активировать окружение для проекта.
$ pyenv install 3.6.0
$ pyenv virtualenv 3.6.0 my-project-venv
$ cd /to/my/project/folder
$ pyenv local my-project-venv
Вот и всё.
В случае использования PyCharm надо создать новую Python SDK с путём, равным ~/.pyenv/versions/my-project-venv.