web-dev-qa-db-ja.com

アップグレード後に壊れたピップ

私は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にあります。

30
dl8

1つの理由は、場所を思い出すことができます。

次のコマンドを発行して、キャッシュされた場所をクリアできます。

hash -r

サイドノート: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)
73
falsetru

hash -rを実行しても機能しない場合は、新しいpip/usr/local/bin/の古いものではなく/usr/bin/にインストールされている可能性があります。また、新しい場所が実行可能ファイルを検索するパスのリストにない場合があります。

その場合、どちらかパスのリストを修正or実行可能ファイルをコピーします。

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

実行可能ファイルをコピーする代わりにハードリンクすることもできます(これにより、将来のアップグレードが正しく行われるようになります)。

1
ADTC