Pip, the Python package installer, is an indispensable tool for any developer working with Python on Linux. It simplifies the process of installing, upgrading, and managing Python libraries and dependencies, allowing for rapid development and deployment of applications. This guide will walk you through the most common and recommended methods for installing pip on various Linux distributions.
Understanding Pip and Its Importance
Pip stands for “Pip Installs Packages” or “Preferred Installer Program.” Its primary function is to fetch and install software packages written in Python from the Python Package Index (PyPI) and other repositories. Before pip, managing Python dependencies was a more manual and often error-prone process. Pip automates this, providing a standardized way to handle project requirements, virtual environments, and version control for your Python projects.

The significance of pip in the Linux ecosystem cannot be overstated. Many core Linux utilities and popular applications rely on Python and, by extension, pip for their installation and management. For developers, it’s the gateway to a vast universe of open-source Python libraries that accelerate workflows, from web development frameworks like Django and Flask to data science tools such as NumPy and Pandas, and machine learning libraries like TensorFlow and PyTorch.
A robust pip installation ensures that your development environment is well-equipped to handle the complexities of modern software development. It facilitates:
- Easy Installation of Packages: With a single command, you can install any package available on PyPI.
- Dependency Management: Pip automatically resolves and installs any dependencies required by the packages you install.
- Version Control: You can specify exact versions of packages to ensure reproducible builds and avoid compatibility issues.
- Virtual Environments: Pip integrates seamlessly with Python’s virtual environment tools (like
venv), allowing you to isolate project dependencies and prevent conflicts. - Package Upgrading and Removal: Keeping your libraries up-to-date or removing unused ones is straightforward.
For any Linux user venturing into Python development, understanding how to install and utilize pip effectively is a foundational step towards becoming proficient.
Installing Pip on Debian and Ubuntu-based Systems
Debian and Ubuntu are among the most popular Linux distributions, and installing pip on them is generally straightforward thanks to their robust package management system, APT (Advanced Package Tool).
Method 1: Using APT (Recommended)
The most recommended and easiest way to install pip on Debian and Ubuntu is by using the apt package manager. This method ensures that pip is installed correctly and integrated with your system’s package management.
-
Update Package Lists:
Before installing any new software, it’s always a good practice to update your system’s package lists to ensure you’re getting the latest available versions. Open your terminal and run:sudo apt updateThis command fetches the latest information about available packages from the repositories.
-
Install Python 3 Pip:
Most modern Linux systems come with Python 3 pre-installed. To install pip for Python 3, use the following command:sudo apt install python3-pipThis command will download and install the
python3-pippackage, which includes pip and its necessary dependencies. -
Verify Installation:
After the installation is complete, you can verify that pip has been installed successfully by checking its version:pip3 --versionThis should output the installed pip version, such as
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8). If you get an error, double-check the previous steps.
Method 2: Installing Pip for Python 2 (Legacy)
While Python 3 is the current standard, some older systems or specific applications might still require Python 2. If you need pip for Python 2 (not recommended for new projects), the process is similar:
-
Update Package Lists:
sudo apt update -
Install Python 2 Pip:
sudo apt install python-pip -
Verify Installation:
pip --versionThis will show the pip version for Python 2. Note: Python 2 is end-of-life and should be avoided for new development.
Installing Pip on Fedora, CentOS, and RHEL-based Systems
For distributions like Fedora, CentOS, and Red Hat Enterprise Linux (RHEL), the package manager is YUM or DNF (Dandified YUM), which is the successor to YUM. The installation process is analogous to using APT.
Method 1: Using DNF (Fedora 22+ and modern RHEL/CentOS)
DNF is the default package manager for newer versions of Fedora and is increasingly used in RHEL and CentOS.
-
Update Package Lists:
It’s good practice to ensure your package lists are up-to-date.sudo dnf check-update -
Install Python 3 Pip:
To install pip for Python 3:sudo dnf install python3-pip -
Verify Installation:
pip3 --versionThis will confirm the installation of pip for Python 3.
Method 2: Using YUM (Older Fedora, CentOS/RHEL versions)
For older systems that still use YUM:
-
Update Package Lists:
sudo yum check-update -
Install Python 3 Pip:
sudo yum install python3-pip -
Verify Installation:
pip3 --version

Installing Pip for Python 2 (Legacy on YUM/DNF)
If you specifically need pip for Python 2 on these distributions:
-
Install Python 2 Pip:
sudo dnf install python-pip # For DNF # or sudo yum install python-pip # For YUM -
Verify Installation:
pip --versionAgain, Python 2 is deprecated, so use Python 3 whenever possible.
Installing Pip Using get-pip.py (Universal Method)
In situations where your distribution’s package manager doesn’t provide a readily available python3-pip package, or if you need a specific version not offered by your distribution’s repositories, you can use the official get-pip.py script. This method works across most Linux distributions.
-
Download the get-pip.py Script:
You can download the script usingcurlorwget. Usingcurlis often preferred for its simplicity.curl https://bootstrap.pypa.io/get-pip.py -o get-pip.pyAlternatively, with
wget:wget https://bootstrap.pypa.io/get-pip.py -
Run the Script with Python 3:
Once downloaded, execute the script using your Python 3 interpreter. It’s highly recommended to run this script with root privileges if you want to install pip system-wide for all users.sudo python3 get-pip.pyIf you intend to install pip only for your current user without root privileges, you can omit
sudo:python3 get-pip.py --userUsing the
--userflag installs pip and its packages in your home directory, which is a safer approach if you don’t need system-wide access and want to avoid potential conflicts with system packages. -
Verify Installation:
After the script completes, verify the installation:pip3 --versionIf you used the
--userflag, you might need to ensure that~/.local/binis in your system’s PATH environment variable to executepip3directly. If it’s not, you might need to use the full path, or add it to your PATH. -
Clean Up:
Once pip is successfully installed, you can remove the downloadedget-pip.pyscript:rm get-pip.py
Best Practices and Managing Pip Installations
Proper management of pip and its packages is crucial for a smooth development experience.
Using Virtual Environments
It is strongly advised to use Python’s built-in venv module (or older virtualenv if preferred) for creating isolated Python environments. This prevents package conflicts between different projects and keeps your global Python installation clean.
-
Create a Virtual Environment:
Navigate to your project directory in the terminal and run:python3 -m venv venvThis command creates a
venvdirectory within your project, containing a copy of the Python interpreter and an independent set of installed packages. -
Activate the Virtual Environment:
To use the virtual environment, you need to activate it. The activation command differs slightly based on your shell:- Bash/Zsh:
bash
source venv/bin/activate
- Fish Shell:
bash
source venv/bin/activate.fish
- Csh/Tcsh:
bash
source venv/bin/activate.csh
Once activated, your terminal prompt will usually be prefixed with
(venv), indicating that you are working within the isolated environment. - Bash/Zsh:
-
Install Packages within the Environment:
With the virtual environment activated, anypip installcommands will install packages only within that environment, not globally.pip install <package_name> -
Deactivate the Virtual Environment:
When you are done working on the project, you can deactivate the environment by simply typing:deactivate
Managing Dependencies with requirements.txt
For reproducible projects, it’s essential to record all dependencies.
-
Generate
requirements.txt:
From within your activated virtual environment, you can generate a file listing all installed packages and their versions:pip freeze > requirements.txt -
Install from
requirements.txt:
When setting up the project on another machine or for a colleague, you can install all dependencies with a single command:pip install -r requirements.txt

Upgrading Pip
It’s a good practice to keep pip itself updated to the latest version to benefit from new features, bug fixes, and security updates.
If you installed pip using your distribution’s package manager (apt, dnf, yum), you can upgrade it by upgrading your system’s packages:
- Debian/Ubuntu:
bash
sudo apt update && sudo apt upgrade python3-pip
- Fedora/CentOS/RHEL:
bash
sudo dnf upgrade python3-pip # For DNF
# or
sudo yum upgrade python3-pip # For YUM
If you installed pip using get-pip.py or into a virtual environment, you can upgrade it directly using pip:
pip install --upgrade pip
By following these guidelines, you can ensure a stable, efficient, and well-managed Python development environment on your Linux system, leveraging the full power of pip and the vast Python ecosystem.
