【Mac】Python のデフォルトをPython 2.7.xからPython 3.x.xにきちんと切り替えるんだ!戻してたまるか

え!?さっきの Python 3.x.x はまぼろしか? MacでPythonのデフォルトを2系から3系に切り替えたずなのに・・・戻ってまう(初心者の叫び)
2020.03.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Terminalを再起動したら、python2.x.xに戻ってしまう現象

Macユーザーの初心者の皆さん、Python3をインストールしたいと思い、インストール方法を紹介するブログなどを読んで、その通りに設定して一度は出ていた、

$ python -V
Python 3.x.x

Python3が、ターミナルを再起動した時に、

$ python -V
Python 2.7.x

と表示されて愕然としたことはありませんか?

実は、Pythonを始めてから社用Macでも私用Macでも私はずっとこの現象に悩まされ続けていました。今回ようやくその原因を突き止めましたので、同じような現象で困っている方がいらっしゃったら是非参考にしてみてください。

実行環境

macOS Catalina

バージョン 10.15.4

※ Catalina以前でもターミナルのデフォルトシェルをbashからzshに変更していると、同様のことが起きている可能性があります。

結論

ターミナルのデフォルトシェルがzshなのに、pathを.bash_profileに通していたため!!!

実行環境のところで、問題の核心を書いていてしまっていのるですが、macOS Catalinaからデフォルトシェルがbashからzshに変わっているため、もしターミナルの上に-zshと書いてあるようならば、そのターミナルはzshを使用しています。

デフォルトシェルがzshの場合~/.zshrcにpathを記述する必要があります。

初学者の強い味方、progateのPythonインストールの手順紹介ページ。

解決までの道のり

こちらの質問の内容が明らかに私の困りごとと同じ現象でした。

すると、以下の一文が私の微かな記憶を呼び起こしました。

上手くいかない心当たりとしては、初めてターミナルを開いた際に、bashからzshに切り替えるようメッセージ?のような文章があったので、システム環境設定からbash→zshに切り替えてから、サイトの手順を踏みました。

プログラミングを初めて間もないころ、ターミナルの背景を黒くしたいと思って設定を変更する際に、一緒に何かよくわからない何かの設定も変えた気がする・・・。

私用のMacBookProの購入当時のOSはHigh Sierraのためデフォルトシェルはbashのはずですが・・・

当時参考にした記事のタイトルがとても印象に残るものだったため、改めて検索したところ、見事ヒットしました。

そして、やはり!!!下の方にありました。

ほとんどのUnix系OSのログインシェル(デフォルトのシェル)はbashです。別にbashはダメではなくカスタマイズすれば使いやすいのでしょうが、そんなことするならとっととzshやfishに変えましょう。

やってるな、当時の私、何もわからず変えてるな。(確信)

現在使用している社用のMacBookProは入社時からCatalinaだったため、デフォルトシェルはbashだったのですが、私用Macも上述の訳によりデフォルトシェルをzshにしていたため、pathが通っていなかったというオチでした。

まとめ

わかってしまえば何故こんなことに気がつかなかったのだろう?と自分の無知に赤面してしまいますが、わかって良かったと前を向いて発信を続けます!