“pip: command not found” error – possible fixes

Are you looking for ways to fix "pip: command not found" error message?
Pip, short for Preferred Installer Program, is a package management program written in Python and for Python. It can manage local packages, install/update them from Python Package Index (PyPI) and remove them at will. Users can also use pip to fetch packages from other package repositories as well, provided that they're compatible with PEP 503.

Installing pip is easy, and should be easy, but still, there are common problems that happens to people from time to time, one of them is the annoying "pip: command not found" message, even though you've just installed pip.

This article is going to explain why "pip: command not found" sometimes pops up and provide a few possible fix to the error message.

Why "pip: command not found"

The error message simply indicates that the system cannot find pip's executable in places that it supposed to be.

The first thing you need to check is whether pip directory is included in PATH environment variable. Most operating systems look for executables and binaries in a specific set of places. The list of all those places is stored in an environment variable, often named PATH.

Another thing that can cause the problem is that the installed version of pip's binary may not be named pip, hence, invalidate the command.

If you haven't been able to identify the problem, the simplest way to fix is to reinstall pip. Please note that most of the time, reinstalling pip won't cause any problem because all its code is contained in a single binary file, and the pip command simply call that binary. Having two identical executable binary in the same system won't ever be a problem at all.

Reinstall pip using package managers

Python is open-source and popular, therefore, it's no surprise that almost every major operating system include it in their standard distributions, or provide easy ways to install it.
In Debian/Ubuntu and its derivatives, you can run

sudo apt install python3-pip

In CentOS, RHEL and other distribution based on them, you have to add EPEL repository before actually install pip

yum install epel-release
yum install python-pip

Arch Linux uses pacman instead of apt and yum, so the command to install pip should be

pacman -S python-pip

On a Fedora system, one can install pip with the following command

dnf install python3-pip

Mac users have to run a brew command to get pip sorted out along with Python

brew install python

Most of the time, running one of the above command alone will fix the problem right away. You can verify it’s a successful installation with the command below.

pip --version

Reinstall pip using get-pip.py

Reinstall pip using get-pip.py

If installing pip using package managers doesn't work for you, try using get-pip.py, the official way to install pip, as per pip's official documentation page.

get-pip.py is a bootstrapping script that enables users to install pip, setuptools, and wheel in Python environments that don't already have them.

Let's suppose you're using Linux and already have wget installed on your system, you can run the following command to install pip. Please remember that in a few specific installation, you have to replace python with python3 to execute the right Python version.

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

Reinstall pip using ensurepip

Recent versions of Python, specifically from Python 3.4, are bundled with a new ensurepip module as part of the standard packages. The ensurepip provides support for bootstrapping the pip installer into an existing Python installation or virtual environment.

ensurepip bootstrapping approach reflects the fact that pip is an independent project with its own release cycle, and the latest available stable version is bundled with maintenance and feature releases of the CPython reference interpreter.

You can simply run the following command to get pip installed. Please remember that in a few specific installation, you have to replace python with python3 to execute the right Python version.

python -m ensurepip

More information on ensurepip can be found at ensurepip — Bootstrapping the pip installer.

Double-check PATH environment variables

There are also a chance that pip path is not included in PATH environment variables. Most of the time, pip should be placed in /usr/local/bin in Linux and $HOME/homebrew/bin in MacOS.

You should add the following line to ~/.bash_profile to add /usr/local/bin to PATH every time the system starts and see if the problem goes away.

export PATH="/usr/local/bin:$PATH"

On MacOS, replace /usr/local/bin with $HOME/homebrew/bin so it would look like this:

export PATH="$HOME/homebrew/bin:$PATH"

Once you're done the editing, restart the computer.

Add pip as an alias for pip3

A common scenario is that the installed pip executable is named pip3. Python 3 is not backwards-compatible, which means that programs that are written in Python 2 won't run in Python 3 and vice versa. In order to keep the standard legacy applications, in specific versions, OSes keeps both Python 2 and Python 3. In that case, pip for Python 2 will be executed with pip and the one for Python3 is named pip3.

Run the following command to see if pip3 is actually installed.

pip3 --version

The system should response back a message indicates the pip version along with the Python version.

[email protected]:~$ pip3 --version
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)

Now you have two options. You can use pip3 as it is or you can change the alias so that pip actually call pip3 executable. If you prefer the latter, run this command

alias pip=pip3

You would have to add the line above to ~/.bashrc or ~/.zprofile (in case you use ZSH) if you want the alias to persist through restarts.

Conclusion

We hope that the solutions above works for your case. If it didn't, there may be something seriously wrong with your install, your best bet would be to reinstall the whole operating system from scratch or use another pip alternative such as conda.

You may like our other guides for Python to fix common error messages in Python, including "[Errno 32] Broken pipe" in Python, How to fix locale.Error: unsupported locale setting in Python or How to fix “unindent does not match any outer indentation level” indentation error in Python.

Click to rate this post!
[Total: 9 Average: 4.9]

Leave a Comment