広告
PyenvでPythonのバージョンが切り替わらないと思ったらインストール先が変わっただけだった


古い資料だとpyenvインストールでは.bash_profileに
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
と書けと書いてあるがこれは(現在では)間違いであるようだ。この状態では

$ pyenv install 3.9.7
$ pyenv global 3.9.7
$ pyenv versions
  system
* 3.9.7
$ python --version
Python 2.7.5
$ python3 --version
Pyhon 3.6.8
$ which python
/user/bin/python
のようにバージョンが切り替わらないままになってしまう。

正しくは
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/shims:$PATH"
eval "$(pyenv init -)"
である。

これで~/.pyenv/shims/以下にインストールされたpythonがシェルから見えるようになり
$ pyenv global 3.9.7
$ pyenv versions
  system
* 3.9.7
$ python --version
Python 3.9.7
のようにバージョン切り替えに成功する。