pyenvでpythonのバージョンが切り替わらない時に対処法としてやったことを記録しておく。
目次 非表示
環境情報
PCはMacBook Proを使っています。
- OS : macOS 11.6
- shell : zsh
インストールしているもののバージョンは以下のようになります。
% python -V
Python 2.7.16
% python3 -V
Python 3.8.9
% brew --version
Homebrew 3.2.15
% pyenv --version
pyenv 2.1.0
Xcodeをインストールしているためすでにpython3が入っています。
pyenvでpythonをインストール
今回はpython3.10.0をインストールしました。
% pyenv install 3.10.0
バージョンを切り替える前
% pyenv versions
* system (set by /Users/kanekomasaya/.pyenv/version)
3.10.0
pythonのバージョンを切り替えます。
% pyenv global 3.10.0
% pyenv versions
system
* 3.10.0 (set by /Users/kanekomasaya/.pyenv/version)
ここではバージョンは変わっているのに実際にpythonのバージョンを確認してみると
% python -V
Python 2.7.16
バージョンは変わっていませんでした。
やったこと
PATHの確認
pathを確認したところ、しっかりと通っていました。
% echo $PATH
/Users/Users/.pyenv/shims:/Users/Users/.pyenv/bin:/usr/local/bin:/usr:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/usr/bin:
-zsh ~ %
シェルの環境設定の確認
pyenvを利用するにあたって、シェルの環境設定が必要になります。その設定を確認しました。
#pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
pyenvを再インストール
この記事を参考に再度、pyenvをインストールしてみました。
解決方法
PATHを一度全部消してみたところ、バージョンが切り替わりました。
あれこれいじっていたので、これが本当に解決方法としてあっているかどうかは怪しいですが。。。
PATHの削除に関しては以下の記事を参考しました。
まとめ
pyenvのバージョンが切り替わらない現象については色々な記事がありましたが、どれをやっても解決できなかったので、自分なりに考えて対処しました。
原因がPATHにあることは分かったが、なぜPATHが追加されているのに機能していないのかがわからなかった。
設定が全部あっているのにできない場合はやはり、PATHを含め一度全部やり直すのがなんだかんだ早いのかなと思いました。