技術メモ MacOSとfishでpythonのPathを通す

はじめに

今回自身のMacを新たにセットアップする際に、fishシェルとpyenvの環境でPATHがうまく通らず標準のPython2系列が選択されてしまう不具合を解消する備忘録を書いておこうと思い筆を執りました。

環境

  • OS:Mac Tahoe
  • シェル:fish
  • brewでpyenv

対処法

SHELL
.config/fish/config.fish

fishのconfigに環境変数が通っていないことが原因でした。
fishシェルは、立ち上がるとconfig.fish が読み込まれますが、このconfig.fishにsetコマンドが書いてなければ、パスが認識されません。

実際に以下を追加しました。

SHELL
set -x PYENV_ROOT $HOME/.pyenv
set -x PATH $PYENV_ROOT/bin $PATH
pyenv init - | source

set -xコマンドで~/.pyenvをPATHに追加します。
-xオプションは、環境変数として登録するものです。

pyenv init -は、.pyenv/.shimsをPATH に追加して、globallocalpyenvでインストールされたパッケージを登録しているので、これがないと動作しません。
最後にsourceコマンドで実行しています。
なぜなら、pyenv init - は文字列を返すコマンドであるためです。