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

Как использовать Python Version Manager?

[

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

Почему использовать 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, которая требует привилегий администратора. Но это может быть проблематично и неправильно для проектов, которые зависят от конкретной версии Python. Здесь на помощь приходит pyenv.

Установка pyenv

Для установки pyenv вам потребуются следующие компоненты:

  • Зависимости для сборки
  • Установщик pyenv

Зависимости для сборки

Перед установкой pyenv убедитесь, что у вас установлены следующие зависимости:

  • gcc
  • git
  • make
  • openssl-devel
  • bzip2-devel
  • libffi-devel
  • zlib-devel
  • uuid-devel

Можете установить их на Ubuntu с помощью следующей команды:

Terminal window
$ sudo apt-get install gcc git make openssl-devel bzip2-devel libffi-devel zlib-devel uuid-devel

Использование установщика pyenv

Самый простой способ установить pyenv - это использовать официальный установщик. Чтобы сделать это, выполните следующую команду:

Terminal window
$ curl https://pyenv.run | bash

После завершения установки добавьте следующие строки в ваш файл конфигурации оболочки (~/.bashrc или ~/.zshrc):

Terminal window
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

Сохраните изменения и перезагрузите вашу оболочку. После этого pyenv будет готов к использованию.

Использование pyenv для установки Python

Теперь, когда pyenv установлен, вы можете использовать его для установки нескольких версий Python. Для этого выполните следующую команду:

Terminal window
$ pyenv install <version>

Здесь <version> - это желаемая версия Python, например, 3.9.6.

Исследование команд pyenv

После установки Python с помощью pyenv, вы можете использовать различные команды для управления установленными версиями. Вот некоторые из них:

  • pyenv versions - отображает все установленные версии Python.
  • pyenv which <version> - отображает путь к исполняемому файлу указанной версии Python.
  • pyenv global <version> - устанавливает глобальную версию Python.
  • pyenv local <version> - устанавливает локальную версию Python для текущего каталога.
  • pyenv shell <version> - устанавливает временную версию Python для текущей оболочки.

Указание версии Python

Вы также можете указать версию Python для конкретного проекта или окружения с помощью файла .python-version. Создайте этот файл в корневом каталоге проекта и напишите в нем желаемую версию Python, например:

3.9.6

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

Виртуальные окружения и pyenv

pyenv также поддерживает использование виртуальных окружений. Вы можете создавать виртуальные окружения с помощью команды:

Terminal window
$ pyenv virtualenv <version> <env_name>

Здесь <version> - это версия Python, а <env_name> - имя вашего виртуального окружения.

Вы можете активировать виртуальное окружение с помощью команды:

Terminal window
$ pyenv activate <env_name>

После активации виртуального окружения, все команды Python будут выполняться в контексте этого окружения.

Работа с несколькими окружениями

С помощью pyenv вы можете легко работать с несколькими версиями Python и виртуальными окружениями одновременно. Вот некоторые полезные команды:

  • pyenv versions - показывает все установленные версии Python и активное виртуальное окружение.
  • pyenv global <version> - устанавливает глобальную версию Python, которая будет использоваться по умолчанию.
  • pyenv local <version> - устанавливает локальную версию Python для текущего каталога.
  • pyenv activate <env_name> - активирует виртуальное окружение.
  • pyenv deactivate - деактивирует текущее виртуальное окружение.

Заключение

pyenv - это отличный инструмент для управления несколькими версиями Python. Он позволяет устанавливать и использовать различные версии Python в зависимости от ваших потребностей. Теперь вы можете легко переключаться между версиями Python и использовать виртуальные окружения для разных проектов. Надеюсь, что этот материал поможет вам оптимизировать ваше время и избегать проблем с версиями Python при работе над проектами.