- How to Install Python 3.10 (or 3.11) on CentOS
- Prerequisites
- Default Versions of Python in CentOS
- How to Install Python 3.10 on CentOS
- Step 1: Update CentOS
- Step 2: Install necessary packages
- Step 3: Download Python
- Step 4: Install Python 3.10
- How to Install Python 3.11 on CentOS
- Step 1: Update CentOS
- Step 2: Install necessary packages
- Step 3: Download Python
- Step 4: Install Python 3.11
- AUTHOR
- You may also like
- How to Install Pip on Ubuntu
- How to Install Pip on CentOS
- How to Install Python on Ubuntu
- Leave a comment Cancel reply
- 15 thoughts on “ How to Install Python 3.10 (or 3.11) on CentOS ”
- Установка Python в CentOS 8 и RHEL 8
- Установка Python 2
- Шаг 1. Обновление среды
- Шаг 2: Установите Python 2
- Шаг 3: Проверьте установку Python 2
- Шаг 4: Запуск Python 2
- Установка Python 3
- Шаг 1. Обновление среды
- Шаг 2: Установите Python 3
- Шаг 3: Проверьте установку Python 3
- Шаг 4: Запуск Python 3
- Установка версии Python по умолчанию
How to Install Python 3.10 (or 3.11) on CentOS
In this tutorial, we’re going to show you how to install Python (the latest version) on CentOS with step-by-step instructions. This tutorial includes instructions for Python 3.10 and Python 3.11 on CentOS 7 and CentOS 8.
Prerequisites
This is what you’ll need for this tutorial:
- Root access or a user with sudo privileges
- SSH access to the server, or just use Terminal if you’re on a desktop
- A CentOS system. This tutorial will work for CentOS 7, CentOS 8, AlmaLinux, Rocky Linux, and other RHEL-based distros.
- If you need a server, you can get one from Linode, or choose another Linux VPS provider.
On some systems, Python may already be installed. To check what version of Python you have installed (if any), run the following commands:
If Python is installed, one or both commands will give you an output of the version that’s installed.
Default Versions of Python in CentOS
Depending on when you’re reading this or what version you’re using, the version that you have installed by default or the version that’s available in the CentOS repo might be different.
For CentOS 7:
- Python 2.7.5 is installed by default. That version has reached its EOL years ago, so you should upgrade ASAP.
- Python 3.6.8 is the latest version available in the CentOS 7 repos. 3.6 reached its EOL in Dec 2021, so you should upgrade ASAP.
For CentOS 8:
- Python isn’t installed by default.
- Python 3.9.6 is the latest version available in the CentOS 8 repos. The EOL of Python 3.9.6 is Oct 2025, so you can use that version. To install it, just run yum install python39 and that’s it. If you want to install Python 3.10 or 3.11, follow the tutorial below.
How to Install Python 3.10 on CentOS
Now, onto our tutorial on how to install Python 3.10 on CentOS (any version)
Step 1: Update CentOS
The first step, as always, is to update your system with the following command:
Step 2: Install necessary packages
Next, we need to install some packages:
yum install openssl-devel bzip2-devel libffi-devel
yum groupinstall "Development Tools"
Step 3: Download Python
First, get the download link for the version of Python that you plan on installing from this page. In this tutorial, we’ll be using Python 3.10.2.
Download the file with the command below:
wget https://www.python.org/ftp/python/3.10.2/Python-3.10.2.tgz
And extract the archive with:
Step 4: Install Python 3.10
To install the Python version you just downloaded, cd into the directory:
Then, run the following command:
./configure --enable-optimizations
And finally, compile Python (without replacing the default version):
This process might take a while. After it’s done, you can verify if you installed Python 3.10.2 with the following command:
Which should return the exact version of Python (3.10.2)
How to Install Python 3.11 on CentOS
The instructions are pretty similar to 3.10.
Step 1: Update CentOS
The first step, as always, is to update your system with the following command:
Step 2: Install necessary packages
Next, we need to install some packages:
yum install openssl-devel bzip2-devel libffi-devel
yum groupinstall "Development Tools"
Step 3: Download Python
First, get the download link for the version of Python that you plan on installing from this page. In this tutorial, we’ll be using Python 3.11.0a4
Download the file with the command below:
wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0a4.tgz
And extract the archive with:
Step 4: Install Python 3.11
To install the Python version you just downloaded, cd into the directory:
Then, run the following command:
./configure --enable-optimizations
And finally, compile Python (without replacing the default version):
This process might take a while. After it’s done, you can verify if you installed Python 3.11.0a4 with the following command:
Which should return the exact version of Python (3.11.0a4).
And that’s it. You’ve now installed the latest version of Python on CentOS.
AUTHOR
You may also like
How to Install Pip on Ubuntu
In this tutorial, we’re going to show you how to install and use Pip (Python) on Ubuntu. This tutorial works for Ubuntu […]
How to Install Pip on CentOS
In this tutorial, we’re going to show you how to install Pip (Python) on CentOS. This tutorial will work for CentOS 7, […]
How to Install Python on Ubuntu
In this tutorial, we’re going to show you how to install the latest version of Python on Ubuntu. Step-by-step, beginner-friendly instructions.
Leave a comment Cancel reply
15 thoughts on “ How to Install Python 3.10 (or 3.11) on CentOS ”
How would I go about uninstalling 3.10, especially if done with altinstall? I was going through the makefile and i don’t think this was in it
If I decide to make python 3.10 my default python after doing make altinstall how would I go about it?
Also when looking through the makefile, I didn’t get to see anything for uninstall. How would I go about uninstalling 3.10 after make altinstall?
pip does not work following the instructions above.
When I issue the command ‘pip3 install websockets’
I get this error:
Could not fetch URL https://pypi.org/simple/websockets/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host=’pypi.org’, port=443): Max retries exceeded with url: /simple/websockets/ (Caused by SSLError(“Can’t connect to HTTPS URL because the SSL module is not available.”)) – skipping
I tried running the exact steps from the tutorial again and installed pip3 and websockets. It all worked fine:
9 yum install epel-release 10 yum install python3-pip 11 pip3 install websockets 12 history
This does not work, at least not on CentOS 7. If you perform the steps advised, it will appear to install, but all you need to do is run “pip install –upgrade pip” and you’ll get errors that OpenSSL is not installed. This is the issue I was trying to resolve when I found this page. These instructions are incomplete.
I should have mentioned: thanks to the earlier poster for suggesting python3-pip. Using pip version 3.6 might do the trick for us, but it doesn’t address the main issue of getting pip 3.10 to work (we’re trying 3.10.4 and 3.10.5).
My Error:
———————————————————-
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(“Can’t connect to HTTPS URL because the SSL module is not available.”)’: /simple/pip/ What fixed my issue:
———————————————————-
sudo yum install openssl11 openssl11-devel
mkdir /usr/local/openssl11
cd /usr/local/openssl11
ln -s /usr/lib64/openssl11 lib
ln -s /usr/include/openssl11 include Then proceed with the original steps in this guide, changing the “./configure –enable-optimizations” to point to the new OpenSSL:
./configure –with-openssl=/usr/local/openssl11 Hope this works for someone out there struggling! I’m running CentOS 7.9.2009 – Core and was doing the Python3.10 install (3.10.2)
OOOOOH MY GOD! After 3 hours and over a dozen “right answers” across stack overflow and here, you finally gave me the one that works on Centos 7 and python 3.10 (and openssl, which WAS installed by the system but python cannot see it. This is a major design bug in python itself, the sort that can turn good folks away from python)
Установка 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.
Шаг 2: Установите Python 2
Теперь, когда среда обновлена, давайте продолжим и будем использовать DNF для установки Python 2. К счастью, и Python 2, и 3 включены в репозитории базовых пакетов CentOS 8, поэтому установка выполняется просто.
Шаг 3: Проверьте установку Python 2
Чтобы убедиться, что Python 2 установлен, мы можем запустить простую команду «python2» с флагом версии.
Шаг 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. Обновление среды
Еще раз давайте убедимся, что наши системные пакеты обновлены.
Шаг 2: Установите Python 3
Теперь мы готовы установить Python 3.
Шаг 3: Проверьте установку Python 3
Мы можем проверить установку и версию Python 3 так же, как и в Python 2.
Шаг 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, выполните: