はじめに
Macでpyenv+pipenvでPythonの仮想環境等の管理をしているのですが、気付いたらpyenv global(pyenv local)をしてもPythonのバージョン変更が反映されませんでした。
実行環境
Inter Mac
pyenv + pipenv
原因
とりあえず、pythonのバージョン自体の確認
$ python -V
>>> Python 2.7.10
あれれ?Macのデフォルトのバージョンになってしまっている、、、。
どのpythonを使っているのかの確認
$ which python
>>>/user/bin/python
ほーそこのを使っているのか
パスの指定が/Users/xxx/.pyenv/shims/python
じゃないとpyenvでpythonを使えないのでzprofileの確認
export PYENV_ROOT=${HOME}/.pyenv
if [ -d "${PYENV_ROOT}" ]; then
export PATH=${PYENV_ROOT}/bin:$PATH
eval "$(pyenv init -)"
fi
これで問題ないはずなんですが
pyenvの公式githubを見ていくと
先ほどの下から二行目の部分が違ったので変更
eval "$(pyenv init -)"
を
eval "$(pyenv init --path)"
に変更して反映させる
$ source .zprofile
# 反映されたかの確認
$ python -V
>>> Python 3.6.7
$ which python
>>>/Users/xxx/.pyenv/shims/python
おかえりpython
最後に
1ヶ月くらい前(2021/4/30)に初期化したときは問題なかったので
pyenvの仕様が最近変わったっぽいですね