Пропустить до содержимого

Как управлять версиями Python?

[

Управление версиями Python с помощью pyenv

by Logan Jones

Введение

Если вы когда-либо хотели внести вклад в проект, который поддерживает несколько версий Python, но не знали, как легко протестировать все версии, или если вас интересуют последние новые версии Python и вы хотели бы опробовать новые функции, не беспокоясь о настройке окружения разработки, то вам поможет утилита pyenv.

В этой статье вы узнаете, как максимизировать время, проведенное на работе с проектами, и минимизировать головную боль при выборе правильной версии Python.

Почему использовать pyenv?

Зачем не использовать системный Python?

Так зачем его не использовать? Одним из аргументов может быть то, что этот Python действительно принадлежит операционной системе. В конце концов, он был установлен вместе с операционной системой. Это даже видно, когда вы выполняете команду which:

Terminal window
$ which python
/usr/bin/python

Здесь python доступен для всех пользователей, как и указывает его расположение /usr/bin/python. Скорее всего, это не та версия Python, которую вы хотите использовать:

Terminal window
$ python -V
Python 2.7.12

Чтобы установить пакет в системный Python, вы должны запустить команду sudo pip install. Это связано с тем, что вы устанавливаете пакет в глобальное пространство имен Python, доступное для всех пользователей вашей операционной системы.

А как насчет менеджера пакетов?

Вы, возможно, скажете: «Зачем не использовать менеджеры пакетов, такие как pip или conda?». Ведь они позволяют вам устанавливать пакеты локально, изолируя их от системного Python. Это также правда. Однако в случае, когда вам нужно установить разные версии Python или работать с проектами, использующими разные версии Python, менеджеры пакетов могут столкнуться с некоторыми ограничениями. Например, некоторые пакеты могут быть несовместимы с определенными версиями Python, или вам может потребоваться установить исходные коды Python для выполнения особых настроек. Вот где идеально подходит pyenv.

Установка pyenv

Теперь, когда вы понимаете, зачем использовать pyenv, давайте перейдем к установке.

Зависимости сборки

Чтобы успешно установить pyenv, вам понадобятся следующие зависимости сборки:

  • make
  • build-essential
  • libssl-dev
  • zlib1g-dev
  • libbz2-dev