pyenvがversionをswitchしてくれない
謎にroot dirに存在していた.python-version
が原因でした。これに何も記載がなく、変更する対象がないため、変更されないという感じだったようです。ので、これを消すことで解決しました。
rm ~/.python-version
詳細
pyenvのドキュメントによると、pyenvはglobalの.version
ファイルを見に行く前に、.python-version
をcurrent dirとroot dirの間で、再起的に探しに行くようです。そのため、一番今のdirに近い.python-version
にversionが指定されていないと、versionのswitchができなくなる、といった形っぽいです。
また、shim executableがpathに入ってない、説もありましたが、これでは解決できなかったです。そもそもwhich python
がpyenvのpythonを示していたので、pathの設定はうまくいってそうでした。