【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")

※環境変数設定後、PowerShellまたはコマンドプロンプトを再起動する必要があります。

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

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

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

$ pyenv install --list

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

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

$ pyenv install 3.9.3

あわせて読みたい

フリーランスエンジニアが案件獲得方法とは?自ら営業せずに案件を獲得するには?実務経験1年未満でも大丈夫なの? 本記事ではこのような疑問を解決します。これからフリーランスエンジニアとして独立したい方は、兎にも角にも案件の獲得が急務です[…]

アイキャッチ画像

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

それではインストールしたバージョンのPythonへ切り替えていきましょう。

基本的な切り替え方は以下の2種類あります。

デフォルト(pyenv全体)のPythonバージョンを設定する方法

$ pyenv global 3.9.3
※デフォルトバージョンを3.9.3に設定する場合

特定のディレクトリのみで使用するPythonバージョンを設定する方法

$ pyenv local 3.9.3
※現在のディレクトリで使用するバージョンを3.9.3に設定する場合

これで任意のバージョンのPythonが使えるようになったはずです!

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

最後に補足として、インストールしたバージョンのPythonを環境変数や仮想環境へ設定する方法をご紹介します。

こちらの設定方法の利用シーンはpyenv経由でPythonを呼び出すのではなく、pyenvの中のPythonを直接呼び出す時です。

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

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

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

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

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

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

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

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

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

コントロールパネル

システムとセキュリティ

システム

システムの詳細設定

環境変数


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

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

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

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

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

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

まとめ

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

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

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

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

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

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

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

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