When to use Pip3 instead of Pip in Python

If you have multiple versions of Python installed on a system, such as both Python 2.7 and Python 3.6+. Then pip will often refer to the Python2 bin, while pip3 will point to the Python3 bin.

You can easily tell what your own setup is by running the following commands in a terminal window / command-line.

$ which pip
Code language: Bash (bash)
$ which pip3 /usr/local/bin/pip3
Code language: Bash (bash)

It is also useful to know what version of Python you have on your system and where it is, as Pip is always coupled with it.

$ python --version Python 2.7.16
Code language: Bash (bash)

This tells us that the python version on our system is for Python 2.7.16, we can issue a which command on it to see where it is on our system.

$ which python /usr/bin/python
Code language: Bash (bash)

As it is possible to have multiple versions of Python installed on a system, let’s see if we have Python3 installed.

$ python3 --version Python 3.7.5
Code language: Bash (bash)

We can see we do have Python3 installed, now let’s find out where it is.

$ which python3 /usr/local/bin/python3
Code language: Bash (bash)

Unless you have a specific reason to run Python2 and it’s accompanying Pip dependency installer, it is always recommended to run Python3 along with it’s local Pip.

This is yet another reason to always run Python Virtual Environments, as you can guarantee and install dependencies to the local Python3 and Pip. Also, with a virtual environment, you only ever need to care about calling your scripts with the single python executor, and install dependencies with the single pip tool. As pip3 will just point back to the pip tool itself.

Notify of
Inline Feedbacks
View all comments