Python

【Python】【Mac】pyenvでPythonのバージョン管理をする

MAX

複数のプロジェクトで異なるPythonのバージョンを使用したい時など、状況に応じてPythonのバージョンを切り替えるためにpyenvを使う。

Macではpyenvがそのまま使える。Windowsの場合、pyenv-winがある。

あわせて読みたい
【Python】【Windows】pyenvでPythonのバージョンを管理する
【Python】【Windows】pyenvでPythonのバージョンを管理する

なお、インストール方法は異なるが、インストール後の使い方はMacもWindowsもほぼ同じ。

スポンサーリンク

pyenvのインストール

Homebrewからインストールする。

1$ brew install pyenv

Homebrewがない場合、以下のコマンドでインストールする。

1$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Homebrew公式ページ

pyenvにPythonのパスを通す

github pyenv Set up your shell environment for Pyenv

上記のページを参考に、自分の使用しているシェル、環境に合わせてパス追加を行う。

1# .pyenvのパスを設定する。
2$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bach_profile
3# pythonコマンドのパスを設定する
4$ echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.bach_profile
5# pyenvの初期設定を行う
6$ echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile
7$ echo 'if [ -n "$PS1" -a -n "$BASH_VERSION" ]; then source ~/.bashrc;fi'>>~/.bash_profile

私の環境の場合、.pyenv/binではなく、.pyenv/shimsだったのでgithubの記載情報から変更して設定した。

パス設定後はターミナルを再起動する。

インストール可能なPythonのバージョンを確認

pyenvでインストール可能なpythonのバージョンを確認する。

マイナーバージョンまで細かく分かれているため、grepなどでバージョンを指定したほうがいい

1$ pyenv install --list | grep 3.9
2【出力例】
3  3.9.0
4  3.9-dev
5  3.9.1
6  3.9.2
7  3.9.4
8  3.9.5
9  3.9.6
10  3.9.7
11  3.9.8
12  3.9.9
13  3.9.10
14  3.9.11
15  miniconda-3.9.1
16  miniconda3-3.9.1
17  miniconda3-3.9-4.9.2
18  miniconda3-3.9-4.10.3
19  miniconda3-3.9-4.11.0
20  pypy3.9-7.3.8-src
21  pypy3.9-7.3.8

バージョンを指定してインストールする

インストール可能なバージョンを確認したら、バージョンを指定してインストールする。

1$ pyenv install 3.9.11
2【出力例】
3・・・
4Installed Python-3.9.11 to /Users/kazumac/.pyenv/versions/3.9.11

インストールされているバージョンの確認

1$ pyenv versions
2【出力例】
3* system (set by /Users/kazumac/.pyenv/version)
4  3.10.3
5  3.9.11

pyenv経由でインストールされたPythonのバージョン一覧が表示される。

「*」がついているバージョンはglobal, localの両方で設定されているバージョンとなる。

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

1$ pyenv global 3.9.11
2$ pyenv versions
3  system
4  3.10.3
5* 3.9.11 (set by /Users/kazumac/.pyenv/version)

バージョンが切り替わる。

Pythonのバージョン確認

1$ python -V
2Python 3.9.11

pythonコマンドから実行されるPythonのバージョンが指定したバージョンになっていることが確認できる。

venvとpythonのバージョン

venvでpython仮想環境を作る場合、venvを実行した時に使用されているバージョンのpythonで仮想環境が作成される。

venvで仮想環境作成後に、pyenvでpythonのバージョンを切り替えても、venvのpythonバージョンは切り替わらないので注意。

切り替えた後のpythonバージョンで仮想環境を作り直す必要がある。

スポンサーリンク
ABOUT ME
MAX
MAX
ITエンジニア、データサイエンティスト
新卒でSIerに入社し、フリーランスになってWEB系へ転向。
その後AIの世界へ足を踏み入れ、正社員に戻る。 テーブルデータの分析がメイン。
スポンサーリンク
記事URLをコピーしました