Как управлять версиями Python?
Управление версиями Python с помощью pyenv
by Logan Jones
Введение
Если вы когда-либо хотели внести вклад в проект, который поддерживает несколько версий Python, но не знали, как легко протестировать все версии, или если вас интересуют последние новые версии Python и вы хотели бы опробовать новые функции, не беспокоясь о настройке окружения разработки, то вам поможет утилита pyenv
.
В этой статье вы узнаете, как максимизировать время, проведенное на работе с проектами, и минимизировать головную боль при выборе правильной версии Python.
Почему использовать pyenv
?
Зачем не использовать системный Python?
Так зачем его не использовать? Одним из аргументов может быть то, что этот Python действительно принадлежит операционной системе. В конце концов, он был установлен вместе с операционной системой. Это даже видно, когда вы выполняете команду which
:
Здесь python
доступен для всех пользователей, как и указывает его расположение /usr/bin/python
. Скорее всего, это не та версия Python, которую вы хотите использовать:
Чтобы установить пакет в системный 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