In this guide, you’ll learn how to install Python 3.8 on CentOS 7 / CentOS 8. Python is a popular programming language originally created by Guido van Rossum, and released in 1991. Python can be used to create web applications, handle big data and perform complex mathematics, system scripting, rapid prototyping and many other types of software Development.

Install Python 3.8 on CentOS 7 / CentOS 8

Python works on Windows, Mac, Linux, Raspberry Pi, BSD and many other systems. As of this article update, the latest release of Python is version Python 3.8.1. This is the version of Python that we’ll install in this guide.

Step 1: Install Python Dependencies

As we’ll install Python from source, let’s install the packages required for Python installation.

sudo yum -y groupinstall "Development Tools"
sudo yum -y install openssl-devel bzip2-devel libffi-devel

Confirm gcc is available:

$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Step 2: Download latest Python 3.8 Archive

Now download the latest archive of Python 3.8 release.

sudo yum -y install wget
wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz

Extract the package.

tar xvf Python-3.8.1.tgz

Change the created directory:

cd Python-3.8*/

Step 2: Install Python 3.8 on CentOS 7 / CentOS 8

Setup installation by running the configure script.

./configure --enable-optimizations

Initiate compilation of Python 3.8 on CentOS 7.

sudo make altinstall

If this was successful, you should get a message like below:

/tmp/tmp9ly9eo2d/pip-19.2.3-py2.py3-none-any.whl/pip/_vendor/ipaddress.py:1106: SyntaxWarning: 'str' object is not callable; perhaps you missed a comma?
/tmp/tmp9ly9eo2d/pip-19.2.3-py2.py3-none-any.whl/pip/_vendor/ipaddress.py:1106: SyntaxWarning: 'str' object is not callable; perhaps you missed a comma?
Looking in links: /tmp/tmp9ly9eo2d
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-19.2.3 setuptools-41.2.0

Check the installation of Python 3.8 on CentOS 8 / CentOS 7.

$ python3.8 --version;
Python 3.8.1

Pip is also installed.

$ pip3.8 --version
pip 19.2.3 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)

More on Python:

Deploy Python 3 Django Application on CentOS 7 with Apache and mod_wsgi

How To Install Python & Django on Debian

Best Books for Learning Python Programming

Install Python 3 / Python 2.7 on CentOS 8 / RHEL 8