📌

fish shellのM1 MacにPython + pyenvをインストールする

2022/11/30に公開

M1 MacでPython + pyenvをインストールしたメモです。

環境

(そろそろOSのバージョン上げないとなぁ。。。)

機種 : MacBook Pro 2021(M1 Max)
キーボード : USキーボード
OS : Monterey(12.2.1)
fish shell version : 3.5.1

pyenvをインストールする

https://github.com/pyenv/pyenv#installation

READMEを見ながらやっていきます。

$ brew update
$ brew install pyenv

インストールが終わったらREADMEの通りにPATHを通します。

bash
+alias brew="env PATH=(string replace (pyenv root)/shims '' \"\$PATH\") brew"

sourceコマンドで変更を反映します。

$ source  ~/.config/fish/config.fish

pyenvコマンドが使えることを確認します。

$ pyenv -v
pyenv 2.3.6

スイスイとインストールできました。

Pythonのバージョンを切り替える

pyenv install -lでインストールできるpythonのバージョンを確認できます。今回は3.10.8をインストールして、バージョンを切り替えてみます。

$ pyenv install 3.10.8
$ pyenv global 3.10.8

これで完了、と思ったらPATHが通ってないのか、systemのPythonを参照してしまっています。。。

$ python -V
Python 2.7.18
$ which python
/usr/bin/python

READMEの Set up your shell environment for Pyenv をやっていなかったのでやっていきます。どうやらpyenvのバージョン2.3.0以降からセットアップ方法がやや変更されたようですね。

https://github.com/pyenv/pyenv#set-up-your-shell-environment-for-pyenv

自分のFishのバージョンは3.5.1なので、

If you have Fish 3.2.0 or newer, execute this interactively:

に記載してある通り進めます。ちなみにFishのversion3.2.0でfish_add_pathヘルパーが登場したのでREADMEでも2種類の書き方を紹介しているようです。

https://fishshell.com/docs/current/relnotes.html#fish-3-2-0-released-march-1-2021

~/.config/fish/config.fish
+set -Ux PYENV_ROOT $HOME/.pyenv
+fish_add_path $PYENV_ROOT/bin
+pyenv init - | source

sourceコマンドで変更を反映します。

$ source  ~/.config/fish/config.fish

再度確認してみると、切り替わっていることを確認できました。

$ python -V
Python 3.10.8
$ which python
/usr/bin/python
株式会社ゆめみ

Discussion