2014-10-10 21 views
21

Ich habe Pip installieren -U easyinstall, und dann Pip installieren -U Pip, um meinen Pip zu aktualisieren. Ich erhalte jedoch jetzt diesen Fehler, wenn sie versuchen pip zu verwenden:Pip nach dem Upgrade gebrochen

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

Dies ist auf einem Ubuntu 12.04 in einem Docker Bild.

+0

Haben Sie versucht, pip neu zu installieren? – AHuman

+0

Ja, aber das lässt mich nur mit einer nicht aktualisierten Version von pip ... welche diesen Zyklus wieder startet – dl8

+0

Haben Sie 'easy_install pip' probiert? – AHuman

Antwort

55

Ein Grund können Orte erinnert werden.

Sie können die im Cache gespeicherten Positionen löschen, indem Sie folgenden Befehl eingeben:

hash -r 

Nebenbei bemerkt: Statt which, type Befehl verwenden, können Sie den Hash-Standort sehen:

$ 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: Darf ich wissen warum? – falsetru

0

Wenn hash -r doesn tun 't arbeiten, ist es möglich, dass die neue pip in /usr/local/bin/ statt der alten in /usr/bin/ installiert wurde. Und es kommt vor, dass der neue Standort nicht in der Liste der Pfade enthalten ist, die nach ausführbaren Dateien durchsucht werden.

In diesem Fall entweder fixieren die Liste der Pfade oder Kopieren Sie die ausführbaren Dateien:

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

Sie auch die ausführbaren Dateien, anstatt sie zu kopieren Hardlinks können (dies, dass zukünftige Upgrades richtig gemacht werden gewährleisten können).

Verwandte Themen