Help us understand the problem. What is going on with this article?

パッケージ更新インストール後にコマンドが実行できない場合の対処

More than 3 years have passed since last update.

新規インストール時と更新インストール時でインストール先が異なる場合、更新インストール完了後にコマンドが実行できなくなることがある。
新規インストールと更新インストール時でインストール方法が異なる場合等に発生する可能性がある。

例: pip

pip を更新した後、↓のようなエラーが発生するになった。

# pip
-bash: /usr/bin/pip: そのようなファイルやディレクトリはありません

やったこと

  • 環境: debian
  • インストール方法:
    • 新規インストール時: aptpython-pip パッケージからインストール
    • 更新インストール時: pip install pip --update で pipを更新インストールした

原因

コマンドパスのハッシュが更新後のパスを追随できていない。

詳細

更新後も pip のファイル自体は存在する。

# type -a pip
pip は /usr/local/bin/pip です

pipコマンドを実行するとどこを見るようになっているかは、
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)

直った。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away