[環境構築] Pythonのバージョン切り替えができない


はじめに

pythonを使ったアプリ開発に挑戦しようとしたところpythonのインストールの時点でつまづいたので記事にしておきます。

つまった時の状況

使用しているのはmacOSのCatalina10.15.7
シェルはzsh
homebrewを用いてpyenvをインストール(pyenv 2.0.6)

ターミナル
brew install pyenv

下記のコマンドを順に実行(.zshrcにpyenv設定を書き込んでいくコマンド)

ターミナル
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc

echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc

echo 'eval "$(pyenv init -)"' >> ~/.zshrc

source ~/.zshrc

pyenvを用いてPythonをインルトール(Python 3.9.7)

ターミナル
pyenv install 3.9.7

標準で搭載されているPythonからインストールしたPythonに切り替え

ターミナル
pyenv global 3.9.7

切り替わっているか確認

ターミナル
python --version
Python 2.7.16

ファッ!?

解決した方法

.zshrcの記述を疑う

公式のgitのreadmeと他の方の記事を参考にこの部分を修正↓

.zshrc(修正前)
# ~省略~
eval "$(pyenv init -)"
.zshrc(修正後)
# ~省略~
eval "$(pyenv init --path)"

あとは、念のため~/.python-versionが生成されたりするとよろしくないらしいので、削除するコマンドを実行しておきました。いろいろ試していると知らず知らずに生成されていたりするらしいです。

ターミナル
rm ~/.python-version

.zshrcを読み込ませます。

ターミナル
source ~/.zshrc  

再度切り替えのコマンド

ターミナル
pyenv global 3.9.7  

確認

ターミナル
python --version    
Python 3.9.7

わーーい!!

最後に

公式のドキュメントやgitを確認するのはほんと大切だなと感じました。

参考:
https://github.com/pyenv/pyenv#installation
https://qiita.com/myy/items/a526bdb43982cf82f96a