【Zsh環境】Pyenvを用いたPythonのバージョン切り替え

MacOS

Pyenvは有名なPythonのVersionを切り替えるためのソフトウェアです。MacOS Catalina以前の環境(bash shell)で使用していましたが、アップデートに伴い環境設定を再度行う必要がありましたので、まとめ直しました。

使用環境:MacOS Monterey Intel Core i7

以前にPyenvのインストールと使用方法についてまとめたページはこちらです。Mac OS Catalina以前の環境で、bash shellでのインストールになっているため注意が必要です。

【Pyenv】MacOS:できるだけシンプルにPython環境構築

デフォルトシェルの確認

OSのインターフェースに当たるShell(シェル)について、Mac OS 10.15 Catalinaまではbash shellが用いられていましたが、以降はzsh shellが用いられています。下記コマンドでzshに変更されていることを確認しましょう。

% echo $SHELL

>> /bin/zsh

上記表示で変更を確認できます。デフォルトシェルがzshになっていない場合は下記コマンドで変更しましょう。bashに戻したい場合も同様です。bash shellからzsh shellへの変更に伴い$→%に変更されています。

$ chsh -s /bin/zsh
% chsh -s /bin/bash

chshで変更できない場合は、システム環境設定→ユーザとグループ→詳細オプション→デフォルトシェルからの変更も可能です。

ここで、上記コマンドを実行してもターミナルに-bashの表示があり、$表示のまま変わらない場合はターミナルを起動し、左上のプルダウンからターミナル→環境設定→開くシェルを確認してください。bashターミナルから移行している場合、コマンド(完全パス)でbashが指定されている可能性があるため、デフォルトのシェルを選択し直してください。

Pyenvのインストール確認

PyenvはHomebrewでインストールするソフトウェアです。まずはHomebrewのアップデートが最新かどうか確認しましょう。

Homebrewがインストールされていない場合はこちら

% brew update

zshに切り替わったらbrewでインストールされているソフトウェアを確認しましょう。下記コマンドでbrewにインストールされたソフトウェアを確認できます。

% brew list

上記のようにpyenvがあればインストールができています。pyenvをまだインストールしていない場合は下記コマンドでインストールしましょう。

% brew install pyenv

pyenvで切り替えられるバージョンは下記コマンドで確認できます。

% pyenv versions

最初はsystemしかないと思いますので下記コマンドでpyenvに任意のversionのpythonをインストールしましょう。例として3.9.0のインストールを記載します。

% pyenv install 3.9.0

Uninstallする場合は下記コマンドです。

% pyenv uninstall 3.9.0

pyenv内に無事インストールができていれば下記の様に表示が出るます。

またpyenvの内容を反映するため、zshrcに下記のように記載しましょう。以前のbash_profileの代わりに当たるものです。

% open ~/.zshrc

開いたテキストエディタに下記を入力します。

eval “$(pyenv init --path)”

下記コマンドでzshrcを有効化しておきましょう。

% source ~/.zshrc

これで問題なく使える様ですが、公式ではzprofileへの記載が推奨されています。

下記コマンドで同様にzprofileを開き、

% open ~/.zprofile
export PYENV_ROOT=”$HOME/.pyenv”
export PATH=”$PYENV_ROOT/bin:$PATH”
eval “$(pyenv init –path)”

上記を入力して保存してください。これでpyenvのsettingは終わりです。

Pyenvの使い方

環境全体のPython versionを変える場合は下記コマンドを入力してください。

% pyenv global 3.9.0

また、特定のディレクトリのみ変更する場合は下記コマンドを使用してください。

% pyenv local 3.9.0

下記コマンドでPythonのバージョンが変更されていることが確認できればOKです。

% python -V

Pyenvの導入は以上です。アップデートして使用する場合、pyenv globalが反映されないエラーが多々報告されています。いくつかのトラブルシューティングがありましたので次ページにまとめます。

Next:【Pyenv】globalが反映されない時のトラブルシューティング

コメント

タイトルとURLをコピーしました