ZaLinux.ru

Как переключаться между различными версиями Python. Как установить Python 2

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

Возможности pyenv:

  • Позволит вам изменить глобальную версию Python для каждого пользователя.
  • Обеспечит поддержку версий Python для каждого проекта.
  • Позволит вам переопределить версию Python с помощью переменной среды.
  • Может искать команды одновременно в нескольких версиях Python. Это может быть полезно для тестирования версий Python с помощью tox.

В отличие от pythonbrew и pythonz, pyenv не:

  • Зависит от самого Python. pyenv был создан из чистых скриптах Bash. У Python нет проблем с начальной загрузкой.
  • Нуждается в загрузке в вашу оболочку. Вместо этого pyenv работает путём добавления каталога в ваш $PATH.
  • Управляет virtualenv. Конечно, вы можете создать virtualenv самостоятельно или с pyenv-virtualenv для автоматизации процесса.

На высоком уровне pyenv перехватывает команды Python с помощью исполняемых файлов оболочки, вставленных в ваш $PATH, определяет, какая версия Python указана вашим приложением, и передаёт ваши команды в правильную установку Python.

Как установить pyenv в Debian, Ubuntu, Linux Mint, Kali Linux и их производные

Всё ещё существует довольно много востребованных инструментов, которые не были перенесены с Python 2 на Python 3, что вызывает проблемы при их использовании. Эта страница расскажет, как безопасно использовать устаревшую версию.

Python 2 больше не поддерживается в репозиториях Debian. Это означает, что мы должны найти способ обойти эту проблему. pyenv решает эту проблему, позволяя нам устанавливать несколько версий Python, которые не конфликтуют друг с другом. В настоящее время его нет в репозиториях Debian или Kali, поэтому нам нужно будет установить его из исходников. К счастью, есть удобный скрипт установки, выпущенный авторами. Давайте вместе пройдём установку и настройку.

Начнём с установки зависимостей:

sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git

Далее мы просто запустим скрипт установки, написанный на bash. Если ZSH является оболочкой по умолчанию, после этого нам придётся отредактировать файл .zshrc.

curl https://pyenv.run | bash

Если мы используем ZSH, то теперь мы добавим соответствующие строки в наш .zshrc.

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc

Продолжим настройку:

exec $SHELL
pyenv

Использование версий Python 2 в Debian, Ubuntu, Linux Mint, Kali Linux и их производных

Теперь мы можем установить Python 2 и сделать его нашей версией Python по умолчанию в pyenv:

pyenv install 2.7.18
pyenv global 2.7.18
pyenv versions
python

Теперь мы можем устанавливать зависимости по мере необходимости для любых инструментов, которые мы используем. Когда мы хотим вернуться к Python 3, нам просто нужно установить значение global на system.

pyenv global system
python -V

Следует иметь в виду, что нужно устанавливать зависимости через pip. apt будет не очень любезен, если вы пытаетесь установить зависимости Python 2 через него и через pip, поэтому в этом случае просто придерживайтесь pip.

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *