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

Привет, %username%! При работе на CentOS всё чаще необходим становится Python третьей ветки, ибо вторая ветка скоро умрёт. Как ставить Python 3.x из репозиториев? Легко!
⚠️ CentOS 7 — EOL с 30 июня 2024. Пост оставлен как есть для тех, кто всё ещё поддерживает легаси-серверы. Для новых установок используй Rocky Linux 9 или AlmaLinux 9 — там Python 3.9/3.11 доступен из коробки через
dnf install python3или черезdnf module enable python:3.11. Репозиторий IUS под EL9 не нужен.
Условия#
- CentOS 7 установленный и запущенный
- Права
sudo
Установка сопуствующих утилит#
Для установки сопутствующих утилит необходимо выполнить следущие команды:
sudo yum update
sudo yum install yum-utils
sudo yum groupinstall development Установка Python 3.x#
В стандартных репозиториях отсутствует последняя стабильная сборка Python и нам необходимо установить дополнительный репозиторий IUS (Inline with Upstream Stable).
sudo yum install https://centos7.iuscommunity.org/ius-release.rpmПосле чего сможем установить Python 3.6:
sudo yum install python36u
python3.6 --version # Проверяем версию установленного Python 3.6Далее устанавливаем менеджер пакетов pip:
sudo yum install python36u-pip
sudo yum install python36u-develПроверяем что у нас всё стало хорошо
# Вызываем стандартный интерпретатор Python
python -V
# Видим что он второй ветки:
Python 2.7.5
# Вызываем установленный Python 3
python3.6 -V
# Видим что он третьей ветки:
Python 3.6.1Создание виртуального окружения#
Дабы сохранять систему в чистоте используем виртуальное окружение (в папке с проектом):
python3.6 -m venv venvРезультатом будет создание директории venv в текущей директории с проектом. После этого можно его активировать и установить зависимости проекта, используя pip:
. venv/bin/activate # Ативируем виртуальное окружение
pip install [package_name] # Устанавливаем пакет package_name
pip install -r requirements.txt # Устанавливаем зависимости из файла requirements.txtТонкие места, на которых легко споткнёшься#
- Репозиторий IUS и пакеты
python36uфактически мертвы. Командаyum install https://centos7.iuscommunity.org/ius-release.rpmсегодня просто не отзовётся: доменiuscommunity.orgдавно не резолвится, сам проект IUS свернулся, а вслед за EOL CentOS 7 зеркала сpython36uпревратились в тыкву. Если тебе всё-таки надо поднять Python 3 на живой «семёрке» из легаси — бери его из SCL (yum install centos-release-scl, дальшеrh-python38) или собирай из исходников. Но честнее не реанимировать труп, а переехать на Rocky Linux 9 / AlmaLinux 9, гдеdnf install python3ставит всё из коробки (про это — врезка в начале поста). Сам рецепт ниже оставлен как исторический: «вот как это делалось в 2019-м». –V— это не-V. В командах проверки версии до боли легко вставить длинное тире–(en-dash) вместо обычного дефиса-. Сам по себе ты его не напечатаешь, но он приезжает при копировании из веба или из доков, где типографика автоматом «улучшает» дефисы.python3.6 –Vупадёт сunknown option, и ошибка ни единым словом не намекнёт, что виноват невидимый символ — на вид-то всё правильно. Так что если команда ругается на опцию, которая обязана работать, первым делом проверь дефисы: не подменились ли они тире.
На этом всё! Profit!
Если у тебя есть вопросы, комментарии и/или замечания – заходи в чат , а так же подписывайся на канал .
О способах отблагодарить автора можно почитать на странице “Донаты ”.