pip broken after upgrading

Question:

I did pip install -U easyinstall, and then pip install -U pip to upgrade my pip. However, I get this error now when trying to use pip:

root@d8fb98fc3a66:/# which pip
/usr/local/bin/pip
root@d8fb98fc3a66:/# pip
bash: /usr/bin/pip: No such file or directory

This is on an ubuntu 12.04 in a docker image.

Asked By: dl8

||

Answers:

One reason can be remembed locations.

You can clear the cached locations by issuing following command:

hash -r

SIDENOTE: Instead of which, using type command, you can see the hashed location:

$ type pip
pip is /usr/local/bin/pip
$ pip -V
pip 1.5.6 from /usr/local/lib/python2.7/dist-packages (python 2.7)
$ type pip
pip is hashed (/usr/local/bin/pip)
Answered By: falsetru

If doing hash -r doesn’t work, it’s possible that the new pip got installed in /usr/local/bin/ instead of the old one in /usr/bin/. And it so happens that the new location is not in the list of paths searched for executables.

In that case, either fix the list of paths or copy the executables:

cp -p /usr/local/bin/pip* /usr/bin/

You may also hardlink the executables instead of copying them (this may ensure that future upgrades are done correctly).

Answered By: ADTC
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.