LoginSignup
6
4

More than 1 year has passed since last update.

Pythonのアップデート時、ターミナルを再起動するとPythonのバージョンが戻ってしまう

Last updated at Posted at 2021-06-07

MacでPythonのバージョンを2系(2.7.10)から3系(3.9.5)にアップデートしていたのですが、ターミナルを終了して再度開くとバージョンが戻る現象が発生しました。
解消してみると、くだらないオチだったのですが、経験があまりない方々は割と詰まってしまいそうな気がしましたので、メモとして記載(共有)しようと思います。

想定読者

MacでPythonのアップデートを行われている方を想定致します。
バージョンが変わらないという方だけでなく、アップデートを行われている方の参考にもなるかと思います。
ちなみに私はアップデートを行う際、以下の記事を参考にさせて頂きました。

  1. MacのPythonを2系から3系にアップデートする
  2. MacのPython2系からPython3系に3分で切り替える方法

補足: シェルの環境設定(.bash_profileへの書き込み)は2の記事を参考にしました。

再現するまで

参考にした記事の通り、

  1. Homebrewでpyenvをインストール
  2. pyenvの設定のため、.bash_profileを修正
  3. pyenvを使用して最新(対応時は3.9.5)のPythonをインストール
  4. pyenv global 3.9.5 コマンドをターミナルで実行してPythonのバージョン切り替え

以上を行いました。
pyenv versions を実行すると、

$ pyenv versions
  system
* 3.9.5 (set by $HOME/.pyenv/version)

pyenvのPythonのバージョンの切り替えは問題なし。
python --version でPythonのバージョンも確認すると、

$ python --version
Python 3.9.5

こちらもOK。
しかし、ターミナルを終了して再度起動し、 python --version すると、

$ python --version
Python 2.7.10

元のバージョンに戻りました。(pyenv versionsの方は更新が正常に反映されていました)

原因

私のPCのシェルがbashではなくzshを使っていたことが原因でした。(echo $SHELL を実行すると「/bin/zsh」と表示されました。)
どうやら、シェルの環境設定(「再現するまで」の2の手順)の修正対象ファイルを誤っていたようです。

対策

参考にした記事で.bash_profileに追記されていた下記の設定を.zshrcに追記しました。

export PATH="$HOME/.pyenv/shims:$PATH"

これで、ターミナルを再起動してもpythonのバージョンは元に戻らなくなりました。
シェルの環境設定の際は、まず、 echo $SHELL をターミナルで実行して、自分のPCのシェルが何を使っているか確認しないといけませんね...

最後に

「何かをする時は、まず己自身を知りなさい。」

そんな声が聞こえた気がしました。

良い教訓でした、反省。。。

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4