RHEL 8 install Python 3 or Python 2 using yum

ADVERTISEMENTS



How to Install Python 3 / Python 2.7 on RHEL 8

I need to install Python 3 for Ansible IT automation tool on RHEL 8. How do I install Python 3 on RHEL 8? Is it possible to install Python 2 for legacy apps on RHEL 8?Red Hat Enterprise Linux (RHEL 8) does not install Python 3 or 2 by default as Red Hat didn’t want to set a default. However, system administrators can install Python 3 or 2 as per needs using various methods. This page shows

The procedure for installing Python 3 on RHEL 8 is as follows:

Open the Terminal application or window. Search for python package in RHEL 8, run: sudo yum search python3 To install python 3 on RHEL 8, run: sudo yum install python3 To install python 2 on RHEL 8, run: sudo yum install python2 Upgrade python 3 in RHEL 8, run: sudo yum upgrade python3 Upgrade python 2 in RHEL 8, run: sudo yum upgrade python2

Let us see all commands and example in details.

How to find out Python package names on RHEL 8

Try any one of the following syntax along with grep command:

sudo yum search python3 | more

sudo yum search python2 | more

sudo yum search python36

sudo yum search python2 | grep 'python2.x86_64'

You can show detailed information before installing package as well:

sudo yum info python2.x86_6

sudo yum info python36



RHEL 8 install Python 3

Type the following yum command to install Python 3 on Red Hat Enterprise Linux version 8:

sudo yum install python3

OR

sudo yum module install python36



Verify installation by typing the type command/command command:

$ type -a python3

python3 is /usr/bin/python3

$ command -V python3

python3 is hashed (/usr/bin/python3)

$ python3 --version

Python 3.6.6

A sample script in Python 3

Create a file named test.py:

#!/usr/bin/python3 import os , time print ( "This is a test code for Python3" ) print ( "Hello %s, let us be friends!" % os . environ [ "USER" ] ) print ( "Today is %s" % time . strftime ( "%c" ) ) #!/usr/bin/python3 import os, time print("This is a test code for Python3") print("Hello %s, let us be friends!" % os.environ["USER"]) print("Today is %s" % time.strftime("%c"))

Run it as follows:

$ chmod +x test.py

$ ./test.py



A note for Ansible users

Set up your hosts file as follows on your control node to use Ansible as automation tool for RHEL 8 server:

[ all:vars ] ansible_user = vivek ansible_port = 22 ansible_python_interpreter = '/usr/bin/env python3' [all:vars] ansible_user=vivek ansible_port=22 ansible_python_interpreter='/usr/bin/env python3'

Now run it as usual:

ansible-playbook -i hosts tasks/7-secure-rhel8-vm.yml

RHEL 8 install Python 2

Let us see how to install Python 2.7 on RHEL 8:

sudo yum install python27

OR

sudo yum module install python27



Let us find out information about installed version of Python 2.7 in RHEL 8:

$ type -a python2

$ command -V python2

$ python2 --version



Can I install both Python 3.6 and Python 2.7 on RHEL 8?

Yes. It is possible to install both versions simultaneously:

sudo yum module install python36 python27

Sample outputs:

Updating Subscription Management repositories. Updating Subscription Management repositories. Last metadata expiration check: 0 :09: 22 ago on Tuesday 05 March 2019 02:09: 48 PM EST. Dependencies resolved. ======================================================================================== Package Arch Version Repository Size = ======================================================================================= Installing group/module packages: python36 x86_64 3.6.6- 17 .el8+ 2102 +a4bbd900 rhel- 8 -for-x86_64-appstream-beta-rpms 22 k python2 x86_64 2.7.15- 15 .el8+ 2103 +c6cdb4cb rhel- 8 -for-x86_64-appstream-beta-rpms 106 k python2-pip noarch 9.0.3- 10 .el8+ 2056 +8b2f0fde rhel- 8 -for-x86_64-appstream-beta-rpms 2.0 M python2-setuptools noarch 39.0.1- 10 .el8+ 1958 +74bcdd68 rhel- 8 -for-x86_64-appstream-beta-rpms 643 k python2-libs x86_64 2.7.15- 15 .el8+ 2103 +c6cdb4cb rhel- 8 -for-x86_64-appstream-beta-rpms 6.0 M Installing module profiles: python27/default python36/default Transaction Summary = ======================================================================================= Install 5 Packages Total download size: 8.7 M Installed size: 36 M Is this ok [ y/N ] : Updating Subscription Management repositories. Updating Subscription Management repositories. Last metadata expiration check: 0:09:22 ago on Tuesday 05 March 2019 02:09:48 PM EST. Dependencies resolved. ======================================================================================== Package Arch Version Repository Size ======================================================================================== Installing group/module packages: python36 x86_64 3.6.6-17.el8+2102+a4bbd900 rhel-8-for-x86_64-appstream-beta-rpms 22 k python2 x86_64 2.7.15-15.el8+2103+c6cdb4cb rhel-8-for-x86_64-appstream-beta-rpms 106 k python2-pip noarch 9.0.3-10.el8+2056+8b2f0fde rhel-8-for-x86_64-appstream-beta-rpms 2.0 M python2-setuptools noarch 39.0.1-10.el8+1958+74bcdd68 rhel-8-for-x86_64-appstream-beta-rpms 643 k python2-libs x86_64 2.7.15-15.el8+2103+c6cdb4cb rhel-8-for-x86_64-appstream-beta-rpms 6.0 M Installing module profiles: python27/default python36/default Transaction Summary ======================================================================================== Install 5 Packages Total download size: 8.7 M Installed size: 36 M Is this ok [y/N]:

How do I set default version of Python on RHEL 8?

One can set Python 3 as default by running the simple command:

sudo alternatives --set python /usr/bin/python3

python --version

Sample outputs:

Python 3.6.6

Similarly one can set Python 2 as default version for RHEL 8 based desktop or server environment from the bash shell:

sudo alternatives --set python /usr/bin/python2

python --version

How do I remove python default on RHEL 8?

The syntax is simple:

sudo alternatives --remove python /usr/bin/python2

OR

sudo alternatives --remove python /usr/bin/python3

Conclusion

This page showed how to install Python 3.6 or Python 2.7 on RHEL 8 using the yum command. For more information please see this page here and here.