Установка нескольких версий Python на CentOS и Ubuntu

Python один из самых популярных языков программирования, используемых сегодня. Многие системы Linux поставляются с предустановленным Python, но часто это старая версия, например Python 2.7. По мере развития Python с годами выходили новые версии, такие как Python 3.8, 3.7 и т.д., в которых были добавлены значительные новые возможности и улучшения.

Однако это может вызвать проблемы, если вам нужна определенная версия Python для ваших приложений или скриптов. Например, для некоторых приложений может потребоваться Python 2.7, а для других — Python 3.8.

Решение состоит в том, чтобы установить несколько версий Python рядом в вашей системе Linux. Это позволит вам переключаться между различными версиями для обеспечения совместимости с различными программами.

В этом подробном руководстве мы рассмотрим шаги по установке нескольких версий Python на CentOS и Ubuntu Linux. Инструкции работают для любой версии Python, включая последние версии 3.x и 2.x.

Предварительные условия

Прежде чем приступить к работе, убедитесь, что в вашей системе установлены последние пакеты:

# CentOS/RHEL
$ sudo yum update
# Ubuntu/Debian 
$ sudo apt update
$ sudo apt upgrade

Python версий 2.x и 3.x могут мирно сосуществовать в одной системе. Нам просто нужно убедиться, что они установлены в разные каталоги.

В примерах ниже используются Python 3.8 и 2.7, но вы можете заменить их любыми версиями.

Установка Python на CentOS

Последние версии CentOS и RHEL поставляются с установленным по умолчанию Python 2. Мы будем использовать репозиторий Software Collections (SCL) для установки других версий Python по мере необходимости.

Шаг 1 — Установка инструментов разработки

Для сборки Python из исходников нам понадобится git и инструменты разработки:

$ sudo yum groupinstall "Development Tools"
$ sudo yum install git

Шаг 2 — Установка Python 3 с помощью SCL

Сначала включите репозиторий SCL:

$ sudo yum install centos-release-scl

Теперь установите Python 3.8:

$ sudo yum install rh-python38

Это позволит установить Python 3.8 в каталог /opt/rh/rh-python38.

Чтобы использовать эту версию Python, нам нужно включить ее с помощью:

$ scl enable rh-python38 bash

Убедитесь, что у вас теперь есть Python 3.8:

$ python --version

Вернитесь к системе Python 2.7:

$ exit

Шаг 3 — Установка Python 2 из IUS

Репозиторий IUS предоставляет обновленные версии Python 2.x для CentOS.

Включите IUS с помощью:

$ sudo yum install https://repo.ius.io/ius-release-el7.rpm

Теперь установите Python 2.7:

$ sudo yum install python27

Проверьте версию вашего Python 2.7:

$ python2.7 --version

Теперь у нас есть Python 3.8 и Python 2.7, установленные на CentOS!

Установка Python на Ubuntu

Ubuntu поставляется с установленным по умолчанию Python 3. Мы будем использовать deadsnakes PPA для установки других версий Python.

Шаг 1 — Установка инструментов разработки

Для компиляции Python нам нужны инструменты сборки и другие зависимости:

$ sudo apt update
$ sudo apt install build-essential libssl-dev libffi-dev python3-dev

Шаг 2 — Установка версий Python

Добавьте deadsnakes PPA, который предоставляет несколько версий Python:

$ sudo add-apt-repository ppa:deadsnakes/ppa

Теперь установите Python 3.8 и 2.7:

$ sudo apt install python3.8 python2.7

Убедитесь, что у вас есть несколько версий Python:

$ python3.8 --version
$ python2.7 --version 

Теперь у нас есть Python 3.8 и 2.7, готовые к использованию!

Использование виртуальных сред

Рекомендуется создавать виртуальные среды для своих проектов, а не использовать системный Python. Это позволяет разделить зависимости между приложениями.

Чтобы создать виртуальную среду Python 3:

$ python3.8 -m venv myprojectenv

Активируйте ее с помощью:

$ source myprojectenv/bin/activate

По окончании деактивируйте окружение:

$ deactivate

Виртуальные среды можно создавать и для Python 2:

$ python2.7 -m virtualenv myprojectenv

Это позволяет легко переключаться между версиями Python для каждого проекта, не затрагивая всю систему.

Установка версии Python по умолчанию

После установки нескольких версий Python, python может по-прежнему ссылаться на системный Python.

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

$ sudo rm /usr/bin/python
$ sudo ln -s /usr/bin/python3.8 /usr/bin/python

Теперь python будет работать Python 3.8.

Чтобы переключиться обратно на Python 2:

$ sudo rm /usr/bin/python
$ sudo ln -s /usr/bin/python2.7 /usr/bin/python

Для одного пользователя можно настроить симлинки в ~/.local/bin:

$ rm ~/.local/bin/python
$ ln -s /usr/bin/python3.8 ~/.local/bin/python

Это отменит системное значение по умолчанию только для этого пользователя.

Заключение

В этом руководстве мы рассмотрели установку и управление несколькими версиями Python на CentOS и Ubuntu. Вот краткий обзор основных моментов:

  • Использование репозиториев SCL и IUS на CentOS для установки дополнительных версий Python
  • Добавьте deadsnakes PPA на Ubuntu для установки нескольких версий Python
  • Создание виртуальных сред для изоляции зависимостей между проектами Python
  • Настройте симлинки, чтобы изменить значение по умолчанию python глобально или для каждого пользователя

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

Добавить комментарий

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