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

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

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

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Курс стоящий, все подробности читайте по ссылке. Есть бесплатные курсы.

Введение

В целом, в установке 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 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Что даст вам этот курс:
  • Знание архитектуры Linux.
  • Освоение современных методов и инструментов анализа и обработки данных.
  • Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
  • Владение основными рабочими инструментами системного администратора.
  • Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
  • Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по .

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

Автор Zerox

Zerox
Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству.

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

  1. Аватар

    А как установить версию 3 навсегда, окончательно и безповорртно. Зачем вообще нужен 2й питон????

    • Zerox

      Второй питон нужен, чтобы работал yum. Это как минимум, поэтому избавляться от него не рекомендуется. Вариант установки, предложенный в статье и есть окончательный. Более окончательно уже никак не установить.

  2. Аватар
    Владимир

    Спасибо, пока все работает

  3. Аватар

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

  4. Аватар

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

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

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

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

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

    • Zerox

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

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

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

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