LoginSignup
0
0

Mac デフォルトのPythonを3系しようとして反映されない時

Last updated at Posted at 2021-11-27

はじめに

macOSにデフォルトで搭載されているPythonの実行環境を3系へ変更したのに、ターミナルを新たに開いて確認するとまだ2系になっている。。。

なんてことはよくあることかと。。。

そんな時に参考にしていただければ幸いです:disappointed:

環境

・macOS Big Sur

・ターミナルのシェルはzsh

・Homebrewはインストール済み

・pyenvはインストール済み

pyenvの設定としてパスを通す

確認

$ pyenv -v

でpyenvが入ってるか確認してみましょう。
もしpyenv: command not foundが出た場合は、記事最後の「参考」をご覧ください:sweat:

パスを通す

% echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc    
% echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
% echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.zshrc

echoコマンドを利用せず.zshrcファイルをテキストエディタで開いて編集してもOKかと!(多分)
どちらにせよ、.zshrcファイルは👇のようになります。

.zshrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

変更を反映させる

$ source ~/.zshrc

スクリーンショット 2021-11-27 13.14.07.png

Pythonのインストール

pyenvを使ってPythonをインストール

$ pyenv install --list

でインストール可能なバージョンを確認できます。
今回は「3.6.0」のPythonをインストールします!

$ pyenv install 3.6.0

現在インストールされているPythonを一覧で確認すると、3.6.0が確認できます。

$ pyenv versions
* system (set by /Users/gen/.pyenv/version)
  3.6.0

ただ、まだこの状態では3.6.0ではなく、Macに標準でインストールされているバージョン(つまり2系)のPythonを使用してしまいます。

$ pyenv global 3.6.0

👆のコマンドで、今回インストールしたバージョンのPythonを使用するように設定を変更しましょう!

$ pyenv versions
  system
* 3.6.0 (set by /Users/gen/.pyenv/version)

お、次はちゃんと「3.6.0」に*がついてる!!
「3系」のPythonを使えるようになりましたか??:heart_eyes:

$ python --version
Python 2.7.16

:unamused::unamused::unamused::unamused::unamused::unamused::unamused:

いや、変わってないやんけ!!!

.zprofileにも編集が必要だったっぽい?

スクリーンショット 2021-11-27 13.34.11.png

.zprofile
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"

変更を反映させる

$ source ~/.zprofile
$ python --version
Python 3.6.0

よくわからんが、これでglobalでも反映できた!!:laughing:

参考

0
0
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
0
0