30

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.

falsetru
  • 314,667
  • 49
  • 610
  • 551
dl8
  • 1,240
  • 1
  • 13
  • 33

2 Answers2

77

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)
falsetru
  • 314,667
  • 49
  • 610
  • 551
2

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).

ADTC
  • 7,367
  • 2
  • 57
  • 82