The Python Package Installer, commonly known as pip, is an indispensable tool for any Python developer. It simplifies the process of installing and managing Python packages, which are pre-written code modules that extend Python’s functionality. Whether you’re working on web development, data science, machine learning, or any other Python-related project, pip is essential for bringing in the libraries you need. This guide will walk you through the straightforward process of installing pip on Ubuntu, a popular Linux distribution.
Understanding Pip and Its Importance
pip is the de facto standard package manager for Python. Before pip became widely adopted, installing external Python libraries was often a manual and cumbersome process, involving downloading source code, compiling it, and placing it in the correct directories. pip automates this entire workflow.

Key Benefits of Using Pip:
- Simplified Installation: With
pip, installing a package is as simple as running a single command, such aspip install <package_name>. - Dependency Management:
pipautomatically handles the installation of any other packages that the desired package depends on, ensuring a complete and functional setup. - Package Discovery:
pipcan search for packages on the Python Package Index (PyPI), a vast repository of open-source Python software. - Version Control: You can easily install specific versions of packages or upgrade them to the latest releases.
- Environment Isolation: While not directly a
pipfeature,pipworks seamlessly with Python’s virtual environments (venvorconda), allowing you to create isolated environments for different projects. This prevents package version conflicts between projects, a common headache in software development.
The Python ecosystem thrives on shared code. Packages on PyPI range from fundamental data structures and algorithms to sophisticated machine learning frameworks like TensorFlow and PyTorch, web development frameworks like Django and Flask, and data manipulation tools like NumPy and Pandas. Without pip, leveraging this rich ecosystem would be significantly more challenging.
Installing Pip on Ubuntu
Ubuntu, being a Linux-based operating system, provides excellent support for Python and its associated tools. The installation process for pip is generally straightforward, often involving a few terminal commands. There are a couple of primary methods to consider, depending on your Ubuntu version and preference.
Method 1: Using Ubuntu’s Package Manager (Recommended for Simplicity)
Ubuntu’s default repositories usually contain a pip package specifically designed for the system’s Python installation. This is often the quickest and most integrated way to get pip up and running.
1. Update Package Lists:
Before installing any new software, it’s always good practice to update your system’s package index. This ensures that you are fetching the latest available versions of software. Open your terminal and run:
sudo apt update
This command fetches information about available packages from the configured software sources.
2. Install Pip for Python 3:
Most modern Ubuntu installations come with Python 3 pre-installed. To install pip for Python 3, use the following command:
sudo apt install python3-pip
sudo: This command allows you to run other commands with superuser privileges, which are necessary for system-wide installations.apt: This is Ubuntu’s advanced packaging tool, used for installing, removing, and managing software.install: This tellsaptto install a package.python3-pip: This is the name of the package that providespipfor Python 3.
After running this command, apt will download and install pip and its dependencies.
3. Verify the Installation:
To confirm that pip has been installed correctly and to see its version, run:
pip3 --version
Or, in some cases, you might use:
pip --version
If you have multiple Python versions installed, the pip3 command typically refers to pip for Python 3, while pip might refer to pip for Python 2 (if installed) or Python 3, depending on your system’s configuration. It’s best practice to explicitly use pip3 when working with Python 3 to avoid ambiguity.
The output will display the pip version and its location, similar to:
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
Method 2: Using the get-pip.py Script (For More Control or Specific Versions)
This method involves downloading a Python script directly from the pip project and running it. It offers more control and can be useful if you need a specific version of pip or if the apt package is outdated.
1. Install Python and venv (if not already installed):
Ensure you have Python 3 installed. You might also want to install the venv module for creating virtual environments.
sudo apt update
sudo apt install python3 python3-venv
2. Download the get-pip.py Script:
Use curl or wget to download the script. curl is often preferred for its simplicity in this context.
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
curl: A command-line tool for transferring data with URLs.https://bootstrap.pypa.io/get-pip.py: The URL of theget-pip.pyscript.-o get-pip.py: This option saves the downloaded content to a file namedget-pip.pyin your current directory.
3. Run the Script with Python 3:
Now, execute the downloaded script using your Python 3 interpreter.
python3 get-pip.py
This command will run the script, which in turn downloads and installs the latest version of pip, setuptools, and wheel for your Python 3 environment.
4. Verify the Installation:
As before, verify the installation:
pip3 --version
You should see the version of pip that was just installed.
5. Clean Up:
After a successful installation, you can safely remove the get-pip.py script:
rm get-pip.py
Installing Pip for Older Python 2 (If Necessary)
While Python 2 is no longer officially supported, some legacy systems or projects might still require it. If you need pip for Python 2, the process is similar.
1. Install Pip for Python 2:
sudo apt update
sudo apt install python-pip
2. Verify the Installation:
pip --version
Important Note on Python 2: It is strongly recommended to migrate to Python 3 as soon as possible. Python 2 reached its end-of-life on January 1, 2020, meaning it no longer receives security updates or bug fixes. Using Python 2 can expose your systems to potential security vulnerabilities.
Managing Packages with Pip
Once pip is installed, you can start using it to manage your Python packages. Here are some fundamental commands:
Installing a Package
To install a package from PyPI:
pip3 install <package_name>

For example, to install the popular requests library for making HTTP requests:
pip3 install requests
If you need a specific version, you can specify it:
pip3 install requests==2.28.1
Listing Installed Packages
To see all packages installed in your current Python environment:
pip3 list
This will provide a list of package names and their versions.
Uninstalling a Package
To remove a package:
pip3 uninstall <package_name>
You will be prompted to confirm the uninstallation.
Upgrading a Package
To upgrade a package to its latest version:
pip3 install --upgrade <package_name>
For example:
pip3 install --upgrade requests
Freeze Requirements
A very common and crucial workflow is to generate a list of all installed packages and their exact versions, often to share with others or to reproduce an environment.
pip3 freeze > requirements.txt
This command saves the output of pip freeze into a file named requirements.txt. This file can then be used to install the exact same set of packages in another environment:
pip3 install -r requirements.txt
Best Practices: Virtual Environments
While pip can install packages globally, it is highly recommended to use virtual environments for your Python projects. Virtual environments create isolated Python installations, allowing you to manage dependencies for each project independently without conflicts.
1. Create a Virtual Environment:
Navigate to your project directory in the terminal. Then, create a virtual environment using the venv module:
python3 -m venv myenv
This command creates a directory named myenv (you can choose any name) containing a copy of the Python interpreter and pip.
2. Activate the Virtual Environment:
-
On Linux and macOS:
source myenv/bin/activate -
On Windows (Command Prompt):
myenvScriptsactivate.bat -
On Windows (PowerShell):
.myenvScriptsActivate.ps1
Once activated, your terminal prompt will usually change to indicate that you are inside the virtual environment (e.g., (myenv) $).
3. Install Packages within the Virtual Environment:
Now, when you use pip commands, they will operate within this isolated environment.
pip install <package_name>
For example:
pip install numpy pandas
4. Deactivate the Virtual Environment:
When you are finished working on the project, you can deactivate the environment:
deactivate
This returns your terminal to its normal state.
Using virtual environments is a cornerstone of robust Python development. It ensures that your projects have predictable and reproducible dependency sets, greatly reducing debugging time and improving collaboration.
Troubleshooting Common Issues
Occasionally, you might encounter issues during installation or when using pip. Here are a few common problems and their solutions:
command not found: pip or command not found: pip3
This usually means pip is not installed or not in your system’s PATH.
- Solution: Re-run the installation steps using
sudo apt install python3-pipor theget-pip.pyscript. Ensure you are usingpip3for Python 3. You might need to log out and log back in or restart your terminal for the PATH changes to take effect.
Permission Errors (e.g., Permission denied)
This occurs when you try to install packages without sufficient privileges.
- Solution:
- If installing system-wide (not recommended for general use): Use
sudo apt install python3-pip. - If working within a virtual environment: Ensure your virtual environment is activated. You should not need
sudowhen installing packages inside an activated virtual environment. - User-specific installation: You can install packages for your user only without
sudousingpip install --user <package_name>. However, virtual environments are generally preferred over user-specific installations.
- If installing system-wide (not recommended for general use): Use

Outdated Pip Version
Your pip version might be old, leading to issues with installing newer packages.
-
Solution: Upgrade
pipitself:python3 -m pip install --upgrade pipIt’s also good practice to keep
setuptoolsandwheelupdated:python3 -m pip install --upgrade setuptools wheel
By following these steps and best practices, you can efficiently install and manage pip on your Ubuntu system, unlocking the vast potential of the Python package ecosystem for your projects.
