かわろぐ

技術、セキュリティ、その他もろもろ

MENU

pyenv 環境の python が "No such file or directory" となったときの対処法

環境

  • macOS 10.14.1
  • homebrew 1.8.0

homebrew で古いバージョンを全部消した

かなり長い期間使っている環境だったので、ディスクの容量を削減するために仮想マシンやら homebrew やらをきれいにしていました。 その中で以下のコマンドを打っていました。

$ brew cleanup

このコマンドは最新版でないものを消してくれるというものなのですが、これを実行したら python 関連のものが以下の図のようにエラーを吐いて動かなくなりました

$ pip
~/.pyenv/shims/pip: line 21: /usr/local/Cellar/pyenv/1.2.5/libexec/pyenv: No such file or directory

f:id:kawa_xxx:20181125131139p:plain

shims/python の中身を更新する

~/.pyenv/shims/python が古いバージョンの pyenv を向いており、その古いバージョンが brew cleanup で消されてしまった影響でした。 新しいバージョンに向き直すのは上記 python ファイルを直接更新してもよいのですが、以下のコマンドでやる方法もあります。

$ pyenv rehash

f:id:kawa_xxx:20181125131147p:plain

無事、python も pip も動く様になりました。めでたしめでたし。

参考文献

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング