What is the correct format to upgrade pip3 when the default pip is pip2?

boardrider picture boardrider · Aug 24, 2016 · Viewed 44.2k times · Source

I develop for both Python 2 and 3.
Thus, I have to use both pip2 and pip3.

When using pip3 - I receive this upgrade request (last two lines):

$ pip3 install arrow
Requirement already satisfied (use --upgrade to upgrade): arrow in c:\program files (x86)\python3.5.1\lib\site-packages
Requirement already satisfied (use --upgrade to upgrade): python-dateutil in c:\program files (x86)\python3.5.1\lib\site-packages (from arrow)
Requirement already satisfied (use --upgrade to upgrade): six>=1.5 in c:\program files (x86)\python3.5.1\lib\site-packages (from python-dateutil->arrow)
You are using pip version 7.1.2, however version 8.1.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

My default pip is for Python 2, namely:

$  python -m pip install --upgrade pip
Requirement already up-to-date: pip in /usr/lib/python2.7/site-packages

However, none of the following explicit commands succeed in upgrading the Python 3 pip:

$  python -m pip3 install --upgrade pip3
/bin/python: No module named pip3

$  python -m pip install --upgrade pip3
Collecting pip3
  Could not find a version that satisfies the requirement pip3 (from versions: )
No matching distribution found for pip3

$  python -m pip install --upgrade pip3.4
Collecting pip3.4
  Could not find a version that satisfies the requirement pip3.4 (from versions: )
No matching distribution found for pip3.4

What is the correct command to upgrade pip3 when it is not the default pip?

Environment:

$ python3 -V
Python 3.4.3
$ uname -a
CYGWIN_NT-6.1-WOW 2.5.2(0.297/5/3) 2016-06-23 14:27 i686 Cygwin

Answer

Martijn Pieters picture Martijn Pieters · Aug 24, 2016

Just use the pip3 command you already have:

pip3 install --upgrade pip

The installed project is called pip, always. The pip3 command is tied to your Python 3 installation and is an alias for pip, but the latter is shadowed by the pip command in your Python 2 setup.

You can do it with the associated Python binary too; if it executable as python3, then use that:

python3 -m pip install --upgrade pip

Again, the project is called pip, and so is the module that is installed into your site-packages directory, so stick to that name for the -m command-line option and for the install command.