pip upgrade not working
Solution 1:
You can either upgrade pip
globally using sudo
:
sudo pip3 install --upgrade pip
sudo pip2 install --upgrade pip
Or you can upgrade it for your user only using the --user
option:
pip3 install --upgrade --user pip
pip2 install --upgrade --user pip
Note that I upgrade both pip
s for Python 2 and Python 3. It's important to upgrade the version for Python 3 first, because the one you upgrade last will later be accessible through pip
, which must be pip2
by default.
Important update:
As of pip
version 10 (I think), the pip
/pip3
command is broken, due to a change in the package structure which is not compatible with the launch scripts provided from the python-pip
/python3-pip
packages from apt
. See Error after upgrading pip: cannot import name 'main' on Stack Overflow for details.
Quick fix: Don't run pip
/pip3
any more, but instead always use python -m pip
/python3 -m pip
, which will not use the now incompatible executable scripts provided from your system's package manager, or don't upgrade your pip
/pip3
version to 10 or higher.