How To Install Pip On CentOS 8 / RHEL 8

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.

Posted by Linux Admin