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

MacOS

PyenvはPythonのバージョンを簡易に変更することができるソフトウェアです。

% Python global 3.X.X

上記コマンドでPythonのバージョンを変更できますが、実際に確認してみると

% python -V

>> 2.X.X

指定したバージョンとは違うバージョンが表示され、変更ができないことがあります。このトラブルに対するトラブルシューティングについて纏めて掲載します。

Pyenvの導入方法に関しては下記サイトを参考にしてください。

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

Check 1: Zshシェルに変更されていることを確認

bash shellからzsh shellに変更されていることを確認しましょう。

% echo $SHELL

上記コマンドでzshが表示されても表示が%でなく$のままだと、bash のまま使用している可能性があります。デフォルトシェルの設定とは別に、システム環境設定→ユーザとグループ→詳細オプション→デフォルトシェルを確認しましょう。

左下の鍵マークをクリックした後に、現在のユーザから右クリックで進んでください。

コマンド(完全パス)がbash shellを指定していると、デフォルトシェルの設定をzshにしてもbashのまま使用することになってしまいます。以前のMacOS versionからアップデートして使用する場合は要注意です。

Check 2: zshrcへの記載を確認

以前のversionではbash_profileにPATHを記載していればよかったですが、現行バージョンではzshへの移行に伴いzshrcへ記載する必要があります

% open ~/.zshrc

を入力してzshrc内に[ eval “$(pyenv init –path)” ]の記載があることを確認するか、

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

上記コマンドでターミナルから直接zshrcに入力しましょう。

Check 3: Pythonの位置を確認

% which python

>> /Users/bin/python

Pythonの位置を確認し、bin直下にpythonが存在する場合はpyenvとpythonが紐づけられていない可能性があります。

% brew unlink pyenv && brew link pyenv
% which python

>> /Users/hal0328/.pyenv/shims/python

上記のコマンドでpythonとpyenvを紐付けすることで、pyenvが反映される様になります。

Check 4: pyenv localが反映されている

ホームディレクトリで[ pyenv local ]を実施してしまうと、python globalが反映されなくなってしまいます。下記コマンドで .python-versionを削除し、[ pyenv versions ]を確認しましょう。

% rm ~/.python-version

Check 5: Pyenvの再インストール

Pyenvをインストールし直すのも一つの手だと思います。関連ファイルから順番に削除していきましょう。まずはbin内のpyenvディレクトリを削除する必要があります。permission deniedが表示され削除できないことがあるのでsudo commandで実施します。下記コマンドで実施できます。

% sudo rm -rf /usr/local/bin/.pyenv

削除後は下記コマンドで.pyenvが削除されたことを確認しましょう。不可視のディレクトリなのでコマンドから確認する必要があります。

% cd /usr/local/bin/
% ls -a 

次にbrewからpyenvを削除し、listを確認しましょう。

% brew uninstall pyenv
% brew list

これでpyenvをアンインストールできるので、再度インストールし直しましょう。その他、brewやzshのアップデートを確認するのも有効だと思います。

コメント

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