2014-10-10 4 views
21

Я сделал pip install -U easyinstall, а затем pip install -U pip, чтобы обновить мой пипс. Тем не менее, я получаю эту ошибку сейчас, когда пытаются использовать пип:pip сломанный после обновления

[email protected]:/# which pip 
/usr/local/bin/pip 
[email protected]:/# pip 
bash: /usr/bin/pip: No such file or directory 

Это на убунту 12.04 в Докер изображения.

+0

Вы пытались переустановить пип? – AHuman

+0

Да, но это только оставляет меня с не обновленной версией pip ..., которая снова начинает этот цикл – dl8

+0

Вы пробовали 'easy_install pip'? – AHuman

ответ

55

Одной из причин могут быть рекомбинированные местоположения.

Вы можете очистить кэшированные местоположения путем выдачи следующей команды:

hash -r 

Sidenote: Вместо which, используя type команду, вы можете увидеть расположение хэшированного:

$ 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

@downvoter: Могу ли я узнать почему? – falsetru

0

Если делать hash -r Безразлично Возможно, новый pip был установлен в /usr/local/bin/ вместо старого в /usr/bin/. И так получилось, что новое место не находится в списке путей, которые искали исполняемые файлы.

В этом случае либо исправить список путей или скопировать исполняемые файлы:

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

Вы можете также HardLink исполняемых файлов вместо того, чтобы копировать их (это может гарантировать, что будущие обновления сделаны правильно).

Смежные вопросы