Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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
like image 409
boardrider Avatar asked Aug 24 '16 17:08

boardrider


2 Answers

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.

like image 120
Martijn Pieters Avatar answered Oct 31 '22 02:10

Martijn Pieters


When I searched for "how to update pip3" this came up. I had the problem described here in mind:

The Problem

Upgrading with pip3 might make point pip to the Python 3 version.

It seems as if this is not the case (any more).

The solution

Update the one you want to keep after the one you want to upgrade. Hence

pip3 install --upgrade pip pip2 install --upgrade pip --force-reinstall 

will make sure that pip points to pip2.

like image 35
Martin Thoma Avatar answered Oct 31 '22 04:10

Martin Thoma