【pyenv】Pythonのバージョンを切り替える方法【Mac・Windows】

  • 複数のPythonバージョンをインストールするには?
  • Pythonのバージョンを切り替えるには?
  • Mac・Windowsでのpyenvの使い方とは?

本記事ではこのような疑問を解決します。


複数の開発に携わっていると、同一PC内においてPythonのバージョンを切り替えたい時ってありますよね。

例えば、ある仮想環境やアプリケーションごとに動作するPythonのバージョンが異なる場合など。

そんな時に便利なのがpyenvです。

pyenvを使えばPythonの複数のバージョンを管理することができます。


そこで今回はpyenvを用いてPythonのバージョンを切り替える方法を解説していきます。

※本記事はMac・Windows両方に対応

pyenvとは?

pyenvとはPythonのバージョン管理ツールのことです。

複数のPythonのバージョンを追加・削除することができます。

例えば、2つのバージョン(A・Bとする)のPythonをインストールしておき、
ある仮想環境にはA、別の仮想環境にはBを使用するといったことが可能になります。


Pythonを使った開発プロジェクトを複数進めている場合、
各プロジェクトでPythonのバージョンが異なることが多いので、pyenvがとても役に立つでしょう。

pyenvをインストールする

まずはpyenvをインストールしましょう。

pyenvのインストール方法は以下のようにいくつかあります。

・OSのパッケージ管理システムを使う
Mac:Homebrew
Windows:Chocolatey

・Gitでクローンする

・pipを使う

今回はMac・Windowsそれぞれ以下の方法でpyenvをインストールしてみます。

Macの場合(Homebrewを使う)

ターミナルで以下のコマンドを実行します。

$ brew install pyenv

※Homebrewをインストールしていない場合はこちらからインストールしてください。


なお、Homebrewでのインストールの場合、
/usr/local/bin/にpyenvがインストールされるため、$PATHの設定は不要です。

Windowsの場合(Gitでクローンする)

PowerShellで以下のコマンドを実行します。

> Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &”./install-pyenv-win.ps1"

ちなみに、Windows用pyenvのGitHubリポジトリはこちらです。


インストールが完了したら以下のようにコマンドを実行して環境変数の設定を行なっていきます。

・環境変数に「PYENV」と「PYENV_HOME」を追加する

> [System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")

> [System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + “\.pyenv\pyenv-win\","User")

・環境変数pathにpyenvを追加する

> [System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")

pyenvで任意バージョンのPythonをインストールする

それでは欲しいバージョンのPythonをインストールしていきましょう。

インストール可能なPythonバージョンを調べ、インストールします。

$ pyenv install --list

$ pyenv install 【任意のバージョン】

今回はPython3.9.3をインストールします。

$ pyenv install 3.9.3

インストールしたPythonを環境変数や仮想環境へ設定する

最後にインストールしたバージョンのPythonを呼び出せるように環境変数や仮想環境へ設定します。

設定の方法はそれぞれの環境によって異なるため、
ここではMac・Windowsそれぞれで1つずつ例を示します。

Macの場合(Poetry仮想環境へ設定)

Poetryを使った仮想環境にPython3.9.3を設定します。

Poetry仮想環境内において以下のコマンドを実行します。

$ poetry env use /Users/kosuke/.pyenv/versions/3.9.1

なお、パス指定はpyenvでインストールしたPythonバージョンの実行ファイルがあるディレクトリパスなので、それぞれの環境用に書き換えてください。

Windowsの場合(環境変数pathへ設定)

環境変数pathにPython3.9.3を設定します。

Windowsにおける環境変数の設定はスタートメニューから以下のように設定画面へアクセスします。

コントロールパネル

システムとセキュリティ

システム

システムの詳細設定

環境変数


※Windowsバージョンによって多少異なる

環境変数の設定画面にアクセスしたら、
「〇〇のユーザー環境変数」の「Path」を選択して「編集」ボタンをクリックします。

Path編集画面で「新規」ボタンをクリックして、
インストールしたPythonバージョンの実行ファイルがあるディレクトリパスを追加します。

今回追加するパスは以下の通りです。

C:Users/kosuke/.pyenv/pyenv-win/versions/3.9.1

なお、他バージョンのPythonパスがすでに追加されている場合は、
必要に応じてパスの順番を入れ替えてください。

まとめ

以上がpyenvを用いてPythonのバージョンを切り替える方法になります。

簡単にまとめると、以下の通りです。

・Pythonのバージョン管理ツールであるpyenvをインストールする

・pyenvを用いて使いたいバージョンのPythonをインストールする

・インストールしたバージョンのPythonを各仮想環境に設定する

Pythonでの開発をしていると複数のバージョンを扱っていくことがほとんどだと思います。

ぜひ本記事を参考にして、Pythonのバージョン管理をしてみてください。