はじめに
今回自身のMacを新たにセットアップする際に、fishシェルとpyenvの環境でPATHがうまく通らず標準のPython2系列が選択されてしまう不具合を解消する備忘録を書いておこうと思い筆を執りました。
環境
- OS:Mac Tahoe
- シェル:fish
- brewでpyenv
対処法
SHELL
.config/fish/config.fishfishのconfigに環境変数が通っていないことが原因でした。
fishシェルは、立ち上がるとconfig.fish が読み込まれますが、このconfig.fishにsetコマンドが書いてなければ、パスが認識されません。
実際に以下を追加しました。
SHELL
set -x PYENV_ROOT $HOME/.pyenv
set -x PATH $PYENV_ROOT/bin $PATH
pyenv init - | sourceset -xコマンドで~/.pyenvをPATHに追加します。-xオプションは、環境変数として登録するものです。
pyenv init -は、.pyenv/.shimsをPATH に追加して、globalやlocalのpyenvでインストールされたパッケージを登録しているので、これがないと動作しません。
最後にsourceコマンドで実行しています。
なぜなら、pyenv init - は文字列を返すコマンドであるためです。
