升级后pip无法使用

32

我之前运行了pip install -U easyinstall命令,然后再运行pip install -U pip升级了pip。但是,当我尝试使用pip时,现在出现了以下错误:

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

这是在一个Docker镜像中的Ubuntu 12.04上。


你尝试过重新安装pip吗? - user2961646
是的,但这只会让我留下一个未更新的pip版本...这将再次开始这个循环。 - dl8
你尝试过 easy_install pip 吗? - user2961646
1
是的,不起作用。然而,falsetru解决了这个问题。我会在可以的时候接受他的答案。 - dl8
2个回答

78

一个原因可以是记住了位置。

您可以通过执行以下命令来清除缓存的位置:

hash -r

顺便提一下:使用type命令代替which命令,您可以查看哈希位置:

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

1
如果执行“hash -r”无效,可能是新的“pip”被安装在“/usr/local/bin/”而不是旧的“/usr/bin/”中。而且恰好这个新位置不在可执行文件搜索路径列表中。
在这种情况下,要么修复路径列表,要么复制可执行文件:
cp -p /usr/local/bin/pip* /usr/bin/

您也可以硬链接可执行文件,而不是复制它们(这可能确保将来的升级正确完成)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接