Pyenv на маке

Опубликовано 19 May 2017 в Python

Довольно сложно управляться с несколькими версиями питона на одном ноутбуке. Хотя, это довольно распространенная ситуация. Обычно, у разработчиков несколько проектов требующих разных версия питона. В целом, есть несколько вариантов для решения этой задачи, но моим любимым остается 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 шага:

  1. Установить подходящую версию Питона, если ее еще не стоит
  2. Сделать виртуальное окружение
  3. Активировать окружение для проекта
$ 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.

---
Возник вопрос? Мне всегда можно написать в Twitter: avkorablev