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

54,281

Solution 1

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.

Solution 2

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.

Share:
54,281
boardrider
Author by

boardrider

Updated on October 17, 2020

Comments

  • boardrider
    boardrider over 3 years

    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