Как установить Python 2.x и 3.x на CentOS 7


Установить Python на CentOS 7 можно легко без больших временных затрат. Для этого нужно:
1) Обновите систему командой:
yum -y update
2) Далее установите дополнительные пакеты CentOS, которые необходимы для работы:
yum groupinstall «Development tools» -y
3) Устанавливаем wget, если он еще не установлен:
yum install wget -y 
4) Далее нужно скачать Python, заходите на официальный сайт (ссылка — https://www.python.org/ftp/python/ и выбирайте необходимую версию). Далее скачиваете командой (обратите внимание на версию Python в команде):
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

5) Разархивируйте Python и переходите в созданную папку:
tar xzf Python-3.6.2.tgz
cd Python-3.6.2

6) Запускайте установку и назначайте папку, куда ее производить:
./configure —prefix=/usr/local
Всё! Python установлен на CentOS 7.
Установка Python 3.9.1 на Centos 7
![]()
По умолчанию в Centos 7 установлен Python 2.7, но для решения многих задач требуется более свежая версия Python 3.9. Python 3.9 — это новейшая основная версия языка программирования Python, содержащая множество новых функций и оптимизаций. Для установки Python версии 3.9 требуется компилятор GCC в вашей системе. Установим все необходимые пакеты командой:
yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel
Шаг 1. Скачиваем Python 3.9
Чтобы скачать нужную версию, воспользуйтесь командой:
wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz
После чего необходимо извлечь содержимое скачанного архива:
tar xzf Python-3.9.1.tgz
Шаг 2. Установка Python 3.9 на Centos
Переходим в директорию с исходным кодом:
cd Python-3.9.1
Конфигурируем и компилируем исходники:
./configure --enable-optimizations make altinstall
Шаг 3. Проверка версии
Выполняем команду:
python3.9 -V

Она поможет убедиться в том, что версия Python 3.9 установлена.
Этот материал был полезен?
Да Нет Неактуально Недостоверно Непонятно
Установка Python 3.10 на CentOS 7/8

Определить текущую версию Python можно стандартной командой:
Или в системе может быть уже установлена альтернативная версия Python:
Узнать расположение пакета Python и его библиотек можно так:
python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /usr/include/python2.7 /usr/share/man/man1/python.1.gz
Установка из пакетов
Это самый просто и быстрый способ установки. Но на момент написания инструкции в репозитории epel доступн Python 3.6.
0. Подключаем репозиторий Epel:
# sudo yum install epel-release
1. Устанавливаем альтернативную версию с инструментами разработки и менеджером пакетов
# sudo yum install python3 python3-devel python3-pip
Менеджер попробует найти нужный пакет, если найдет, то выведет информацию и спросит про установку — вводим «y» и нажимаем ентер.
2. Проверяем установку. Данная версия будет доступна по алиасу:
3. Можно заменить стандартную версию, изменив символьную ссылку python с /usr/bin/python2 на /usr/bin/python3. Но перестанут работать некоторые пакеты, использующие Python (например, yum).
Установка из исходника
0.1. Устанавливаем из репозитория пакеты, необходимые для сборки пакетов:
# sudo yum install make gcc
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright (C) 2015 Free Software Foundation, Inc.
Это свободно распространяемое программное обеспечение. Условия копирования
приведены в исходных текстах. Без гарантии каких-либо качеств, включая
коммерческую ценность и применимость для каких-либо целей.
Устанавливаем инструменты необходимые для работы Python:
# sudo yum install openssl-devel libffi-devel bzip2-devel
0.2. Проверяем версию OpenSSL:
OpenSSL 1.0.2k-fips 26 Jan 2017
Обратите внимание, что для версий Python старше 3.7 требуется версия OpenSSL не ниже 1.1.1. Если вам требуется последняя версия Python и ваша версия ниже, то установите новую версию OpenSSL.
0.3. Проверяем версию SQLite:
3.38.2 2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f
Для свежих релизов Django требуется версия SQLite не ниже 3.9.0, если вы собираетесь использовать данную СУБД и ваша версия ниже, то произведите обновление SQLite.
1. Для работы менеджера пакетов Python (Pip) и модулей требуется библиотека OpenSSL. Ищем ее:
# openssl version -d
2. Переходим на официальный сайт https://www.python.org/downloads/, находим нужную версию, переходим на страницу этой версии и внизу страницы копируем ссылку на архив «Gzipped source tarball».
3. Переходим в какую то временную папку и скачиваем архив на CentOS:
4. Распаковываем архив
# tar -xvf Python-3.10.0.tgz
5. Переходим в папку с исходником:
6. Конфигурируем пакет с подключением OpenSSL и SQLite:
# sudo ./configure —enable-optimizations —with-openssl=/etc/pki/tlsl
Появится большой список проверок:
checking build system type. x86_64-pc-linux-gnu
checking host system type. x86_64-pc-linux-gnu
checking for python3.10. python3.10
checking for —enable-universalsdk. no
checking for —with-universal-archs. no
checking MACHDEP. «linux»
checking for gcc. gcc
checking whether the C compiler works. yes
checking for C compiler default output file name. a.out
checking for suffix of executables.
checking for —with-static-libpython. yes
checking for —disable-test-modules. no
configure: creating ./config.status
config.status: creating Makefile.pre
config.status: creating Misc/python.pc
config.status: creating Misc/python-embed.pc
config.status: creating Misc/python-config.sh
config.status: creating Modules/ld_so_aix
config.status: creating pyconfig.h
config.status: pyconfig.h is unchanged
7. Производим установку как дополнительную версию Python:
# sudo make altinstall
Опять появится большой список, в конце должны увидеть примерно следующее:
changing mode of /usr/local/bin/2to3-3.10 to 755
rm -r /usr/local/lib/python3.10/lib-dynload/__pycache__
/usr/bin/install -c -m 644 ./Misc/python.man \
if test «xupgrade» != «xno» ; then \
case upgrade in \
upgrade) ensurepip=»—altinstall —upgrade» ;; \
./python -E -m ensurepip \
Looking in links: /tmp/tmpvgniqw9e
Installing collected packages: setuptools, pip
WARNING: Value for scheme.headers does not match. Please report this to
WARNING: Value for scheme.headers does not match. Please report this to
WARNING: The script pip3.10 is installed in ‘/usr/local/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use —no-warn-script-location.
Successfully installed pip-22.0.4 setuptools-57.4.0
WARNING: Running pip as the ‘root’ user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Значит установка прошла успешно.
8. Проверяем установку. Сам Python:
Менеджер пакетов Pip тоже был успешно установлен, проверяем:
pip 22.0.4 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)
Проверить версию SSL в Python:
# python3 -c «import ssl; print(ssl.OPENSSL_VERSION)»
OpenSSL 1.0.2k-fips 26 Jan 2017
Возможные ошибки при установке
Модуль не может быть установлен
Где-то посередине вывода при установке Python может появится сообщение о том? что не удалось включить в сборку какой-то модуль:
INFO: Can’t locate Tcl/Tk libs and/or headers
Python build finished successfully!
The necessary bits to build these optional modules were not found:
_curses _curses_panel _hashlib
_lzma _ssl _tkinter
To find the necessary bits, look in setup.py in detect_modules() for the module’s name.
The following modules found by detect_modules() in setup.py, have been
built by the Makefile instead, as configured by the Setup files:
Could not build the ssl module!
Python requires a OpenSSL 1.1.1 or newer
copying and adjusting /root//Python-3.10.4/Tools/scripts/pydoc3 -> build/scripts-3.10
В данном случае это OpenSSL, требуется обновить его.
Following modules built successfully but were removed because they could not be imported: _sqlite3
В данном случае не корректная библиотека (не сам пакет) SQLite — по обновлению тут.
Ошибка SSL при использовании PIP
# pip3.10 install —upgrade pip3.10
Defaulting to user installation because normal site-packages is not writeable
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Ошибка означает что в сборке используемой версии Python нет модуля OpenSSL, его или не включили при сборке (в последних версиях он отключен по умолчанию) или он не был включен из-за конфликта версии — установите новую версию OpenSSL.
Установка Python в CentOS 8 и RHEL 8
![]()
Python — один из самых популярных языков программирования. Однако в CentOS 8 он не установлен по-умолчанию.

В более ранних выпусках CentOS по умолчанию была доступна неверсированная команда Python. После установки CentOS, можно было перейти в оболочку Python, просто запустив команду «python» в терминале. Как это ни парадоксально, CentOS 8 не имеет неверсионной команды Python по умолчанию. Напрашивается вопрос, почему? RedHat заявляет, что этот выбор сделан «чтобы избежать блокировки пользователей в конкретной версии Python». В настоящее время RedHat 8 неявно использует Python 3.6 по умолчанию, хотя Python 2.7 дополнительно предоставляется для поддержки существующего программного обеспечения. Ранее неверсионная команда Python в дистрибутивах CentOS, хотя и была удобной, создавала определенные проблемы. Неверсионный Python обычно указывает на интерпретатор Python 2, но поскольку Python 2 сейчас находится на EOL (конец срока службы), это становится проблематичным по нескольким причинам. Простое перенаправление команды на Python 3 может показаться несложным решением, но на многих уровнях это будет проблематично из-за возможной путаницы с версионированием. Вместо того, чтобы продолжать указывать команду «python» на версию Python по умолчанию из-за знакомства или указывать на Python 3, чтобы идти в ногу со временем, был сделан выбор больше не включать стандартную команду «python».
В этом руководстве мы рассмотрим установку как активно используемой версии Python 2, так и новой версии Python 3 в CentOS 8 и Red Hat Enterprise Linux (RHEL) 8.
Установка Python 2
Шаг 1. Обновление среды
Всегда полезно начинать с проверки того, что все наши системные пакеты обновлены перед установкой нового программного обеспечения. Для этого мы собираемся воспользоваться новым программным обеспечением для управления пакетами DNF.
# dnf update -y
Шаг 2: Установите Python 2
Теперь, когда среда обновлена, давайте продолжим и будем использовать DNF для установки Python 2. К счастью, и Python 2, и 3 включены в репозитории базовых пакетов CentOS 8, поэтому установка выполняется просто.
# dnf install python2 -y
Шаг 3: Проверьте установку Python 2
Чтобы убедиться, что Python 2 установлен, мы можем запустить простую команду «python2» с флагом версии.
# python2 -V Python 2.7.16
Шаг 4: Запуск Python 2
Впоследствии, чтобы получить доступ к оболочке Python 2, мы можем выполнить следующую команду.
# python2 Python 2.7.16 (default, Nov 17 2019, 00:07:27) [GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Готово! Python 2 теперь установлен! Следует отметить, что PIP-установщик пакетов Python также устанавливается по умолчанию при установке Python 2, поэтому вы сможете сразу начать работу с пакетами Python.
Установка Python 3
Шаг 1. Обновление среды
Еще раз давайте убедимся, что наши системные пакеты обновлены.
# dnf update -y
Шаг 2: Установите Python 3
Теперь мы готовы установить Python 3.
# dnf install python3 -y
Шаг 3: Проверьте установку Python 3
Мы можем проверить установку и версию Python 3 так же, как и в Python 2.
# python3 -V Python 3.7.5rc1
Шаг 4: Запуск Python 3
Затем мы можем войти в среду оболочки Python 3, выполнив следующую команду.
# python3 Python 3.6.8 (default, Nov 21 2019, 19:31:34) [GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
Как и в случае установки Python 2, pip3 также включается при установке Python 3. Вот и все! Теперь можно начинать работу с Python на вашем сервере CentOS 8.
Установка версии Python по умолчанию
Вы должны были заметить, что для использования Python 3, это команда python3 и python2 для Python 2. Что делать, если ваши приложения настроены на обращение к python, который недоступен для всей системы?
# python bash: python: command not found.
Вы можете использовать механизм альтернатив, чтобы включить неверсированную команду python для всей системы и установить для нее определенную версию:
# alternatives --set python /usr/bin/python3
# alternatives --set python /usr/bin/python2
Чтобы посмотреь настроенную версию Python по умолчанию используйте следующую команду:
# python -V
Чтобы сбросить эту конфигурацию и удалить неверсионную команду python, выполните:
# alternatives --auto python