How To Install Python 3 In CentOS 7.
This tutorial will guide you through installing Python 3 on a CentOS 7 system using the Software Collections (SCL) alongside the distribution default Python version 2.7. We will also show you how to create a Python virtual environment.
Enable Software Collections (SCL)
To enable SCL, you need to install the CentOS SCL release file. It is part of the CentOS extras repository and can be installed by running the following command:
Installing Python 3 on CentOS 7
Now that you have access to the SCL repository, you can install any Python 3.x version you need. Currently, the following Python 3 collections are available:
In this tutorial, we will install Python 3.6, which is the latest version available at the time of writing. To do so type the following command on your CentOS 7 terminal:
Using Python 3
Once the package rh-python36 is installed, check the Python version by typing:
You will notice that Python 2.7 is the default Python version in your current shell.
To access Python 3.6 you need to launch a new shell instance using the Software Collection scl tool:
What the command above does is calling the script /opt/rh/rh-python36/enable, which changes the shell environment variables.
If you check the Python version again, you’ll notice that Python 3.6 is the default version in your current shell now.
It is important to point out that Python 3.6 is set as the default Python version only in this shell session. If you exit the session or open a new session from another terminal Python 2.7 will be the default Python version.
Installing Development Tools
Development tools are required for building Python modules. To install the necessary tools and libraries type:
Creating a Virtual Environment
Python Virtual Environments allows you to install Python modules in an isolated location for a specific project, rather than being installed globally. This way, you do not have to worry about affecting other Python projects.
The preferred way to create a new virtual environment in Python 3 is by executing the venv command.
Let’s say you want to create a new Python 3 project called my_new_project inside your user home directory and matching virtual environment.
First, create the project directory and switch to it:
Activate Python 3.6 using the scl tool:
From inside the project root run the following command to create a virtual environment named my_project_venv:
To start using the virtual environment, activate it by typing:
After activating the environment, the shell prompt will be prefixed with the name of the environment:
Starting with Python 3.4, when creating virtual environments pip, the package manager for Python is installed by default.
You should now have Python 3 programming environment set up on your CentOS 7 machine, and you can start developing your Python 3 project.