Home » Linux » CentOS » Установка Python 3 на Centos 7

Установка Python 3 на Centos 7

В стандартной установке в системе центос 7 установлена версия питона 2.7. Ниже я расскажу, как установить на сервер с CentOS 7 более свежую версию Python 3. На деле это оказалось не такой простой задачей, как может показаться.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Администратор Linux» в OTUS. Курс не для новичков, для поступления нужно пройти .

Введение

В целом, в установке python 3 на CentOS 7 нет ничего сложного, но тем не менее, это не сделать обычной установкой пакета из стандартного репозитория или epel. Точнее, установить можно, но по-умолчанию будет работать старая версия.

Или, к примеру, вам может быть нужно иметь 2 и более версий питона в системе и как-то оперативно переключаться, для запуска скриптов с разной версией. В общем, тут есть небольшие нюансы, но обо всем по порядку.

Установка Python 3.6 на Centos 7

Если вам надо просто поставить голый Python версии, к примеру, 3.6, то на момент написания статьи она есть в репозитории epel. Вам нужно сначала подключить репозиторий, а потом установить новую версию.

# yum install epel-release
# yum install python36

И все. Но если после этого, вы проверите версию питона в консоли:

# python -V
Python 2.7.5

Увидите, что по-умолчанию вызывается старая версия. Если нужно запустить именно новую, то надо запускать именно версию 3.6.

# python36 -V
Python 3.6.3

Вы можете заменить стандартную версию, изменив символьную ссылку python с /usr/bin/python2 на /usr/bin/python36. Но если кому-то нужна будет старая версия, начнутся проблемы. Например, перестанет работать yum :) Эту ситуацию можно разрулить разными способами. Один из них я опишу в следующем разделе, где покажу, как установить несколько разных версий python и работать с ними.

Я везде вижу рекомендации, вместо репозитория epel, использовать ius для установки python. Как минимум, потому что там сразу же можно установить pip нужно версии. Я расскажу об этом тоже ниже. К примеру, в epel есть python36, но нет к нему pip36, только 3.4. Это неудобно. Так что подключаем ius репозиторий и ставим все необходимое.

# yum install https://centos7.iuscommunity.org/ius-release.rpm
# yum install python36u python36u-devel python36u-pip

Проверяем:

# python3.6 -V
Python 3.6.5

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

Что сделать, чтобы удобно работать с разными версиями питона? Можно установить репозиторий так называемой Software Collections или SLC и поставить версию питона оттуда. Ее удобство будет в том, что существует инструмент, который позволит запустить bash оболочку с новой версией питона, выполнить скрипты, которым нужна эта версия и просто выйти из оболочки. Мне как раз помог такой способ, когда нужно было быстро разово выполнить несколько скриптов, которым нужна была версия 3 и которые делали проверку этой версии через обращение к системному python.

Подключаем репозиторий SCL:

# yum install centos-release-scl

Ставим Python нужной версии, например 3.6.

# yum install rh-python36

Теперь можно сделать вот так:

# scl enable rh-python36 bash

И мы оказываемся в консоли с нужной версией питона.

# python -V
Python 3.6.3

Можно запускать скрипты, которые требуют именно эту версию. Они при запуске убедятся, что версия именно та, что нужна.

Установка менеджера pip и пакетов python

Заодно покажу, как установить пакетный менеджер pip нужной версии и пакеты к нему. Как уже говорил выше, нужно подключить репозиторий ius, если не подключили ранее и выполнить установку.

# yum install https://centos7.iuscommunity.org/ius-release.rpm
# yum install python36u-pip

Можно сразу же после установки обновить pip до последней версии:

# pip3.6 install --upgrade pip

Для примера установим модуль питона jpath через pip.

# pip3.6 install jpath

Установка python3 на Centos 7

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

На этом все. Если у кого-то есть замечания по существу, советы или исправление ошибок, прошу поделиться всем этим в комметариях.

Онлайн курс "Администратор Linux"

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Администратор Linux» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Проверьте себя на вступительном тесте и смотрите программу детальнее по .

Помогла статья? Есть возможность отблагодарить автора

5 комментариев

  1. Аватар
    Константин

    Вообще, хорошей практикой считается не использовать алиас python, а всегда оперировать версией, например
    #!/bin/python3.6

    • Zerox

      Я чаще в готовых скриптах вижу просто python, python2, python3. В системе уже делаю алиасы на соответствующие версии.

  2. Аватар
    Николай

    Спасибо. Пригодилось.

  3. Аватар

    спасибо! да пригодилось!!
    но на девел модуль ругаеться чото
    еррор сумари

  4. Аватар

    Отличный гайд
    scl cool!

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

Ваш e-mail не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.