Hamsa K
6 min read | 3 years ago

How to Install Python3 on Centos 7

Install python3 on centos 7

Python is a general-purpose object-oriented programming language designed to be used as a software solution for almost all kinds of problems. However, the pre-installed version of Python found on CentOS 7 is a much older version. In order to have the latest version of Python, the user will have to install it manually.

By default centos is having python version of 2.7

First we will install python3.6 from repository

[root@centos ~]# yum install https://centos7.iuscommunity.org/ius-release.rpm

Now install python with pip

[root@centos ~]# yum install python36u python36u-libs python36u-devel python36u-pip

check version 

[root@centos ~]# python3.6 -V
Python 3.6.8

compiling 3.7 from source code

This Python installation required GCC compiler on your system.install prerequisites for Python before installing it

[root@centos ~]# yum install gcc openssl-devel bzip2-devel libffi-devel
[root@centos ~]# yum groupinstall "Development Tools"

download python 3.7

[root@centos ~]# cd /usr/src
[root@centos src]# https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
[root@centos src]# tar -xvzf Python-3.7.4.tgz

use below commands to compile source code by using altinstall

[root@centos ~]# cd /usr/src/Python-3.7.4/
[root@centos Python-3.7.4]# ./configure --enable-optimizations
[root@centos Python-3.7.4]# make altinstall

 when you install your custom version of Python. If you use the normal "make install" you will end up with two different versions of Python in the filesystem both named python.so altinstall is used to prevent replacing the default python binary file /usr/bin/python

sample output

Installing collected packages: setuptools, pip
Successfully installed pip-19.0.3 setuptools-40.8.0

check python version

[root@centos ~]# python3.7 -V
Python 3.7.4

Setting up virtual environment

Virtual environments enable you to have an isolated space on your computer for Python projects, ensuring that each of your projects can have its own set of dependencies that won’t disrupt any of your other projects.

You can set up as many Python programming environments as you want. Each environment is basically a directory or folder in your computer that has a few scripts in it to make it act as an environment.

create new directory with mkdir

[root@centos ~]# mkdir environment
[root@centos ~]# cd environment

you can create virtual environment with following command

[root@centos environment]# python3.7 -m venv myenv

you can give any name in place of myenv.

[root@centos environment]# cd myenv/
[root@centos myenv]# ls
bin  include  lib  lib64  pyvenv.cfg

To use this environment, you need to activate it by typing following command

[root@centos myenv]# source bin/activate

It will promt you with the name of your environment like below

(myenv) [root@centos myenv]#

Here myenv is active that means when we create programs here they will use only this particular environment’s settings and packages.

Create sample program

(myenv) [root@centos myenv]# vi hello.py

Once the text file opens up in our terminal window, we will have to type i to enter insert mode, and then we can write our first program

print("Hello, Welcome!")

Now press escape and save it using :wq 

(myenv) [root@centos myenv]# python hello.py
Hello, Welcome!
(myenv) [root@centos myenv]# python -V
Python 3.7.4

To leave the environment, simply type the command deactivate and return to your original directory.

(myenv) [root@centos myenv]# deactivate
[root@centos myenv]# python -V
Python 2.7.5


Warning! This site uses cookies
By continuing to browse the site, you are agreeing to our use of cookies. Read our terms and privacy policy