TL;DR
pyenvのshimsディレクトリは、シェル起動時の pyenv init コマンドで作成されるようです。
(もちろん毎回作っていてはたまらないのでいい感じに冪等な仕組みがあるのでしょうが)
zshに切り替えたときに pyenv (あと rbenv)の設定を忘れていました。
それで昨日Ruby動かなかったのか...
if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)" fi eval "$(rbenv init -)"
経緯
実はzshに切り替えたあともしばらくは動いていたんですが、 brew update pyenv したときにだめでした。
.../shims/python のファイル内にpyenvのパスをバージョン名指しで書いているスクリプトがあり、それが pyenv initで最新に保たれるからです。
こういうの素早く気付けるように、dotfilesを一つのディレクトリでいつでも見やすくしておくのは大事ですね。
しかし環境切替時は互換テストすべきだな。反省...。