Changes in tags
新規インストール時と更新インストール時でインストール先が異なる新規インストール時と更新インストール時でインストール先が異なる場合、更新インストール完了後にコマンドが実行できなくなることがある。(インストール手段が異なるとかに)場合、更新インストール完了後にコマンドが実行できなくなることがある。新規インストールと更新インストール時でインストール方法が異なる場合等に発生する可能性がある。
pip
pipを更新した後、↓になった。を更新した後、↓のようなエラーが発生するになった。
# pip
-bash: /usr/bin/pip: そのようなファイルやディレクトリはありません
debianで新規インストール時はaptでpython-pipパッケージからインストール。コマンドパスのハッシュが更新後のパスを追随できていない。
その後、pip install pip --update でpipを更新したらこうなった。
やったこと
- 環境:
debian
- インストール方法:
- 新規インストール時:
apt
でpython-pip
パッケージからインストール - 更新インストール時:
pip install pip --update
で pipを更新インストールした
- 新規インストール時:
原因
# type -a pip
pip は /usr/local/bin/pip です
pip
ちゃんとある。コマンドを実行するとどこを見るようになっているかは、pipコマンドを実行するとどこを見るようになっているかは、type
typeコマンドをオプション無しで実行すればわかる。コマンドをオプション無しで実行すればわかる。
# type pip
pip はハッシュされています (/usr/bin/pip)
今は無き(消してしまった)、前の参照先を見ている。更新後には存在しない(削除してしまった)、更新前の参照先を見ている。
# ls -l /usr/bin/pip
ls: /usr/bin/pip にアクセスできません: そのようなファイルやディレクトリはありません
対策
肝心のハッシュを更新するにはどうすればいいか、コマンドパスのハッシュを更新する。以下のコマンドを実行する。そのために、以下のコマンドを実行する。
# hash -r
#
# pip --version
pip 7.1.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)
直った。