LoginSignup
36
26

More than 1 year has passed since last update.

macOS+zsh環境にpyenvをインストールする

Last updated at Posted at 2021-08-01

環境

  • macOS Big Sur (version 11.4)
  • zsh 5.8 (x86_64-apple-darwin20.0)

手順

https://github.com/pyenv/pyenv を元にインストールを進める。
macOS+zshの場合、以下の節のみ拾い読みすればOK:

  • Homebrew on macOS - Homebrewからpyenvをインストール
    • ↑にも記載があるように、途中から Basic GitHub Checkout の 「2. Configure your shell's environment for Pyenv」 → 「For Zsh:」 の部分のみ実行

brew install

brew update
brew install pyenv

zshの設定

オリジナルの手順では ~/.zprofile に追記しているが、 ~/.zshrc にしても問題なく設定は極力こちらに寄せたいのでアレンジ

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

確認

pyenvがインストールされたことの確認

pyenv -v

以下のように何らかのバージョンが表示されればOK

% pyenv -v
pyenv 2.0.4

pyenvでpythonのバージョンを切り替える

インストール可能なバージョンの一覧を表示

pyenv install --list

インストール(以降、version 3.9.6 の例で進める)

pyenv install 3.9.6

バージョン切り替え

# そのユーザ全体で切り替える時
pyenv global 3.9.6

# そのフォルダ内のみで切り替える時
pyenv local 3.9.6

バージョンが切り替わったことの確認

python -V
pyenv versions

実行例

% python -V
Python 3.9.6

% pyenv versions
  system
* 3.9.6 (set by /Users/user/.pyenv/version)

行頭に * がついているのが選択されているバージョン、それ以外はインストール済みで利用可能なバージョン。

pyenvによるpythonのバージョン切り替えが効きました!

※うまくいかない時は、途中でターミナルアプリの再起動か source ~/.zshrc で再読み込みが必要かも(適当にやっちゃった)

バージョン切り替えが反映されない時の確認項目

which python.pyenv 配下を指しているか

こんな感じになるはず:

user@macbook ~ % which python
/Users/user/.pyenv/shims/python

~/.zshrceval "$(pyenv init --path)" と記載できていなかった時にハマりました。

ググって出てくるブログ記事には $(pyenv init -) の記載が多かったですが、 $(pyenv init --path) が正しいみたいです。

不要な行は削除して、正しく書き直しましょう:

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

意図せずホームディレクトリに ~/.python-version が生成されていないか

トラシューでガチャガチャやっている時に pyenv local ... が実行されてたりすると、多分あるある…。

お掃除しましょう:

rm ~/.python-version
36
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
26