This guide will walk you through how to install the most recent version of Python 3 on CentOS 7 and Ubuntu 18.04 or Ubuntu 20.04.
How to install Python 3 on CentOS 7
Step 1: Update the package manager
Before you begin, refresh the package listings. This helps ensure that yum is up to date.
Launch a terminal window, and enter:
sudo yum update
Allow the process to complete.
Step 2: Install the SCL utility
The SCL, or Software Collections, is an open-source project. Its goal is to let you install and run multiple versions of the same software on the same system. SCL is an excellent workaround for CentOS 7, where we don’t want to interfere with the system version of Python.
Install SCL with:
sudo yum install centos-release-scl
Step 3: Install Python 3.6
To install Python 3.6, enter the following into a terminal window:
sudo yum install rh-python36
Step 4: Verify Version
In a terminal, enter the following to verify and check your version of Python:
python --version
The system should respond by displaying
The output shows that the installation hasn’t changed the base Python that CentOS relies on.
To verify the installation of Python 3.6, first launch Python in an SCL shell:
scl enable rh-python36 bash
This command places you in a shell where you can use your newer Python version.
Enter the following:
python --version
It should now display:
If you need to exit the shell, type exit and hit enter, and drop to a standard command prompt.
Installing Python 3 From Source Code
If you need a version of Python that is not supported through SCL, you can download a copy of the source code. This method requires additional software, plus extra steps to compile and install the Python package.
1. Start by installing the gcc, open-ssl-devel, and bzip2-devel packages:
sudo yum install gcc openssl-devel bzip2-devel
2. Browse to a directory to download the files: cd usr/src
3. Download the Python version you want to install:
sudo wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz
4. Extract the package:
sudo tar xzf Python-3.9.2.tgz
5. Compile the source code into an installation package:
cd Python-3.9.2
./configure
./configure --enable-optimizations
make altinstall
The make command builds the installer package. The altinstall command instructs your system to create a second installation of this version of Python. Without it, the system would replace the default version of Python.
6. Verify the software version
How to install Python 3 on CentOS 8
With the repository up-to-date, type in the following command to download and install Python 3 on your system:
dnf install python3
Verify whether Python 3 has been installed successfully:
python --version
The output should confirm you have successfully installed Python3.
How to install Python 3 on Ubuntu 18.04 or Ubuntu 20.04
Option 1: Install Python 3 Using apt (Easier)
This process uses the apt package manager to install Python. There are fewer steps, but it’s dependent on third-party hosting software updates. You may not see new releases as quickly on a third-party repository.
Most factory versions of Ubuntu 18.04 or Ubuntu 20.04 come with Python pre-installed. Check your version of Python by entering the following:
python --version
or
python3 --version
If the revision level is lower than 3.9.x, or if Python is not installed, continue to the next step.
Step 1: Update and Refresh Repository Lists
sudo apt update
Step 2: Install Supporting Software
The software-properties-common package gives you better control over your package manager by letting you add PPA (Personal Package Archive) repositories. Install the supporting software with the command:
sudo apt install software-properties-common
Step 3: Add Deadsnakes PPA
Deadsnakes is a PPA with newer releases than the default Ubuntu repositories. Add the PPA by entering the following:
sudo add-apt-repository ppa:deadsnakes/ppa
The system will prompt you to press enter to continue. Do so, and allow it to finish. Refresh the package lists again:
sudo apt update
Step 4: Install Python 3
Now you can start the installation of Python 3.9 with the command:
sudo apt install python3.9
Allow the process to complete and verify the Python version was installed successfully:
python3.9 --version
Option 2: Install Python 3.9 From Source Code (Latest Version)
Use this process to download and compile the source code from the developer. It’s a bit more complicated, but the trade-off is accessing a newer release of Python.
Step 1: Update Local Repositories
To update local repositories, use the command:
sudo apt update
Step 2: Install Supporting Software
Compiling a package from source code requires additional software.
Enter the following to install the required packages for Python:
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
Step 3: Download the Latest Version of Python Source Code
To download the newest release of Python Source Code, navigate to the /tmp directory and use the wget command:
cd /tmp
wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz
Step 4: Extract Compressed Files
Next, you need to extract the tgz file you downloaded, with the command:
tar -xf Python-3.9.2.tgz
Step 5: Test System and Optimize Python
Before you install the software, make sure you test the system and optimize Python.
The ./configure command evaluates and prepares Python to install on your system. Using the —optimization option speeds code execution by 10-20%.
Enter the following:
cd Python-3.9.2
./configure --optimization
Step 6: Install a Second Instance of Python (recommended)
To create a second installation of Python 3.9.2, in addition to your current Python installation, enter the following:
sudo make altinstall
It is recommended that you use the altinstall method. Your Ubuntu system may have software packages dependent on Python 2.x.
(Option) Overwrite Default Python Installation
To install Python 3.9.2 over the top of your existing Python, enter the following:
sudo make install
Allow the process to complete.
Step 7: Verify Python Version
python3 --version