How To Install Pip on CentOS 8 / RHEL 8

THIS DOCUMENT IS ALSO AVAILABLE FOR

Pip (Pip Installs Packages) is a package management system that allows you to install Python software packages. It installs python packages listed in the Python Package Index (PyPI).

Pip Versions

There are two versions of Pip available for CentOS 8 / RHEL 8.

In this post, we will see how to install both versions of Pip on CentOS 8 / RHEL 8.

Apart from the Pip installation, we will also see how to manage Python packages using Pip.

Install Pip for Python 3

Pip for Python 3 (pip3) is provided by Python 3 package. You can install it using the below command.

dnf install -y python3
Output:

CentOS-8 - AppStream                                                   1.5 MB/s | 6.5 MB     00:04
CentOS-8 - Base                                                        232 kB/s | 5.0 MB     00:22
CentOS-8 - Extras                                                      594  B/s | 2.1 kB     00:03
Dependencies resolved.
=======================================================================================================
 Package                        Arch       Version                                 Repository     Size
=======================================================================================================
Installing:
 python36                       x86_64     3.6.8-2.module_el8.1.0+245+c39af44f     AppStream      19 k
Upgrading:
 platform-python-pip            noarch     9.0.3-15.el8                            BaseOS        1.8 M
 platform-python-setuptools     noarch     39.2.0-5.el8                            BaseOS        632 k
Installing dependencies:
 python3-pip                    noarch     9.0.3-15.el8                            AppStream      19 k
 python3-setuptools             noarch     39.2.0-5.el8                            BaseOS        162 k
Enabling module streams:
 python36                                  3.6

Transaction Summary
=======================================================================================================
Install  3 Packages
Upgrade  2 Packages

Total download size: 2.6 M
Downloading Packages:
CentOS-8 - AppStream            195% [============================================================-] 1.(1/5): python3-pip-9.0.3-15.el8.noarch.rpm                              16 kB/s |  19 kB     00:01
(2/5): python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm          16 kB/s |  19 kB     00:01
(3/5): python3-setuptools-39.2.0-5.el8.noarch.rpm                      100 kB/s | 162 kB     00:01
(4/5): platform-python-setuptools-39.2.0-5.el8.noarch.rpm              353 kB/s | 632 kB     00:01
[MIRROR] platform-python-pip-9.0.3-15.el8.noarch.rpm: Curl error (28): Timeout was reached for http://centos.mirror.snu.edu.in/centos/8.1.1911/BaseOS/x86_64/os/Packages/platform-python-pip-9.0.3-15.el8.noarch.rpm [Connection timed out after 30001 milliseconds]
(5/5): platform-python-pip-9.0.3-15.el8.noarch.rpm                      60 kB/s | 1.8 MB     00:31
-------------------------------------------------------------------------------------------------------
Total                                                                   76 kB/s | 2.6 MB     00:35
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                               1/1
  Upgrading        : platform-python-setuptools-39.2.0-5.el8.noarch                                1/7
  Installing       : python3-setuptools-39.2.0-5.el8.noarch                                        2/7
  Upgrading        : platform-python-pip-9.0.3-15.el8.noarch                                       3/7
  Installing       : python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64                           4/7
  Running scriptlet: python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64                           4/7
  Installing       : python3-pip-9.0.3-15.el8.noarch                                               5/7
  Cleanup          : platform-python-pip-9.0.3-13.el8.noarch                                       6/7
  Cleanup          : platform-python-setuptools-39.2.0-4.el8.noarch                                7/7
  Running scriptlet: platform-python-setuptools-39.2.0-4.el8.noarch                                7/7
  Verifying        : python3-pip-9.0.3-15.el8.noarch                                               1/7
  Verifying        : python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64                           2/7
  Verifying        : python3-setuptools-39.2.0-5.el8.noarch                                        3/7
  Verifying        : platform-python-pip-9.0.3-15.el8.noarch                                       4/7
  Verifying        : platform-python-pip-9.0.3-13.el8.noarch                                       5/7
  Verifying        : platform-python-setuptools-39.2.0-5.el8.noarch                                6/7
  Verifying        : platform-python-setuptools-39.2.0-4.el8.noarch                                7/7

Upgraded:
  platform-python-pip-9.0.3-15.el8.noarch        platform-python-setuptools-39.2.0-5.el8.noarch

Installed:
  python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64          python3-pip-9.0.3-15.el8.noarch
  python3-setuptools-39.2.0-5.el8.noarch

Complete!

Use the below command to verify the Python version.

python3 --version
Output:

Python 3.6.8

The above output shows that the system has Python 3 installed.

By now, your system should have pip3 command.

pip3 --version
Output:

pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

The pip version may vary depending on the operating system and the date of release.

Install Pip for Python 2

Pip for Python 2 (pip2) is provided by Python 2 package. By default, Python 2 package is not installed in CentOS 8 / RHEL 8.

Install Python 2 package using the below command.

dnf install -y python2
Output:
CentOS-8 - AppStream                                                   1.3 MB/s | 6.5 MB     00:04
CentOS-8 - Base                                                        152 kB/s | 5.0 MB     00:33
CentOS-8 - Extras                                                      488  B/s | 2.1 kB     00:04
Last metadata expiration check: 0:00:01 ago on Fri 06 Mar 2020 08:47:10 AM EST.
Dependencies resolved.
=======================================================================================================
 Package                      Arch       Version                                   Repository     Size
=======================================================================================================
Installing:
 python2                      x86_64     2.7.16-12.module_el8.1.0+219+cf9e6ac9     AppStream     109 k
Installing dependencies:
 python2-libs                 x86_64     2.7.16-12.module_el8.1.0+219+cf9e6ac9     AppStream     6.0 M
 python2-pip-wheel            noarch     9.0.3-14.module_el8.1.0+219+cf9e6ac9      AppStream     1.2 M
 python2-setuptools-wheel     noarch     39.0.1-11.module_el8.1.0+219+cf9e6ac9     AppStream     289 k
Installing weak dependencies:
 python2-pip                  noarch     9.0.3-14.module_el8.1.0+219+cf9e6ac9      AppStream     2.0 M
 python2-setuptools           noarch     39.0.1-11.module_el8.1.0+219+cf9e6ac9     AppStream     643 k
Enabling module streams:
 python27                                2.7

Transaction Summary
=======================================================================================================
Install  6 Packages

Total download size: 10 M
Installed size: 39 M
Downloading Packages:
(1/6): python2-2.7.16-12.module_el8.1.0+219+cf9e6ac9.x86_64.rpm         82 kB/s | 109 kB     00:01
(2/6): python2-pip-wheel-9.0.3-14.module_el8.1.0+219+cf9e6ac9.noarch.r 3.3 MB/s | 1.2 MB     00:00
(3/6): python2-setuptools-39.0.1-11.module_el8.1.0+219+cf9e6ac9.noarch 3.4 MB/s | 643 kB     00:00
(4/6): python2-setuptools-wheel-39.0.1-11.module_el8.1.0+219+cf9e6ac9. 2.4 MB/s | 289 kB     00:00
(5/6): python2-pip-9.0.3-14.module_el8.1.0+219+cf9e6ac9.noarch.rpm     1.0 MB/s | 2.0 MB     00:02
(6/6): python2-libs-2.7.16-12.module_el8.1.0+219+cf9e6ac9.x86_64.rpm   2.6 MB/s | 6.0 MB     00:02
-------------------------------------------------------------------------------------------------------
Total                                                                  2.7 MB/s |  10 MB     00:03
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                               1/1
  Installing       : python2-setuptools-wheel-39.0.1-11.module_el8.1.0+219+cf9e6ac9.noarch         1/6
  Installing       : python2-pip-wheel-9.0.3-14.module_el8.1.0+219+cf9e6ac9.noarch                 2/6
  Installing       : python2-libs-2.7.16-12.module_el8.1.0+219+cf9e6ac9.x86_64                     3/6
  Installing       : python2-pip-9.0.3-14.module_el8.1.0+219+cf9e6ac9.noarch                       4/6
  Installing       : python2-setuptools-39.0.1-11.module_el8.1.0+219+cf9e6ac9.noarch               5/6
  Installing       : python2-2.7.16-12.module_el8.1.0+219+cf9e6ac9.x86_64                          6/6
  Running scriptlet: python2-2.7.16-12.module_el8.1.0+219+cf9e6ac9.x86_64                          6/6
  Verifying        : python2-2.7.16-12.module_el8.1.0+219+cf9e6ac9.x86_64                          1/6
  Verifying        : python2-libs-2.7.16-12.module_el8.1.0+219+cf9e6ac9.x86_64                     2/6
  Verifying        : python2-pip-9.0.3-14.module_el8.1.0+219+cf9e6ac9.noarch                       3/6
  Verifying        : python2-pip-wheel-9.0.3-14.module_el8.1.0+219+cf9e6ac9.noarch                 4/6
  Verifying        : python2-setuptools-39.0.1-11.module_el8.1.0+219+cf9e6ac9.noarch               5/6
  Verifying        : python2-setuptools-wheel-39.0.1-11.module_el8.1.0+219+cf9e6ac9.noarch         6/6

Installed:
  python2-2.7.16-12.module_el8.1.0+219+cf9e6ac9.x86_64
  python2-pip-9.0.3-14.module_el8.1.0+219+cf9e6ac9.noarch
  python2-setuptools-39.0.1-11.module_el8.1.0+219+cf9e6ac9.noarch
  python2-libs-2.7.16-12.module_el8.1.0+219+cf9e6ac9.x86_64
  python2-pip-wheel-9.0.3-14.module_el8.1.0+219+cf9e6ac9.noarch
  python2-setuptools-wheel-39.0.1-11.module_el8.1.0+219+cf9e6ac9.noarch

Complete!

Use the below command to verify the Python version.

python2 --version
Output:

Python 2.7.16

The above output shows that the system has Python 2 installed.

Check the Pip version as well.

pip2 --version
Output:

pip 9.0.3 from /usr/lib/python2.7/site-packages (python 2.7)

The above output confirms that the pip for Python 2 is successfully installed. The pip version may vary depending on the operating system and the date of release.

How to Use Pip

We will go through some basics of Pip commands.

Replace pip3 with pip2 in your commands if you are using Python 2.

Install Packages Using Pip

To install a package using Pip, you can use the below command.

pip3 install PACKAGE_NAME

For example, to install the latest version of IPython package, a powerful interactive Python shell, use the below command.

pip3 install IPython

The above command will download all the necessary files and install the specified package.

To install a specific version of the package (Example 6.0), you can use the below command.

pip3 install IPython==6.0

List Installed Pip Packages

To list the installed Python packages, use the below command.

pip3 list
Output:

.       .       .

gpg (1.10.0)
idna (2.5)
iniparse (0.4)
ipython (7.13.0)
ipython-genutils (0.2.0)
jedi (0.16.0)
netifaces (0.10.6)
parso (0.6.2)

.      .       .

Upgrade Package Using Pip

To upgrade a package to the latest version, use the below command.

pip3 install --upgrade IPython

Remove Package Using Pip

If you want to remove a package installed via pip, you can use the below command.

pip3 uninstall IPython

Search Packages using Pip

Pip’s search functionality lets you search for packages (name). This command will get the packages list from the PyPI (Python Package Index).

pip3 search google
Output:

google (2.0.2) - Python bindings to the Google search engine.
oauthkit-google (0.1.2) - OAuthKit for Google
bits-google (1.8.6) - BITS Google
google-gax (0.16.0) - Google API Extensions
google-finance (0.1.0) - Google Finance API
google-oauth (1.0.1) - OAuth2 for Google APIs
google-auth (1.6.3) - Google Authentication Library

.     .     .

Conclusion

That’s All. I hope you have learned how to install Pip on CentOS 8 / RHEL 8 and its command syntax to manage Python packages. You can visit Pip’s user guide page for more information about Pip.

Prev Post
Next Post
comments powered by Disqus