Pythonのバージョンを切り替える方法を解説

Python

Pythonの開発では、プロジェクトごとに異なるバージョンを使用する必要がある場合があります。この記事では、pyenvとvenvという2つの主要なツールを使ってPythonのバージョンを簡単に切り替える方法を解説します。

pyenvを使う方法

pyenvはPythonのバージョン管理ツールで、システム全体または特定のプロジェクトでPythonのバージョンを切り替えることができます。ただし、pyenvはmacOSとLinuxでのみ利用可能です。Windowsユーザーは後述のpyenv-win、venvや他の方法を検討してください。

pyenvのインストール方法

macOSでは、Homebrewを使って簡単にpyenvをインストールできます。

# Homebrewを使ったpyenvのインストール
brew install pyenv

# 出力例:
# ==> Downloading https://homebrew.bintray.com/bottles/pyenv-1.2.21.catalina.bottle.tar.gz
# ==> Pouring pyenv-1.2.21.catalina.bottle.tar.gz
# 🍺  /usr/local/Cellar/pyenv/1.2.21: 634 files, 2.4MB

Linuxでは、以下のコマンドでインストールできます。

# Linuxでのpyenvインストール
curl https://pyenv.run | bash

# 出力例:
# Cloning into '/home/username/.pyenv'...
# ...
# WARNING: seems you still have not added 'pyenv' to the load path.

インストール後、シェルの設定ファイル(.bashrcや.zshrc)に以下の行を追加します。

# .bashrcや.zshrcに追加する設定
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

# 設定を反映させる
source ~/.bashrc  # または source ~/.zshrc

Pythonのバージョンをインストールする

pyenvを使って特定のPythonバージョンをインストールします。

# 利用可能なPythonバージョンを確認
pyenv install --list

# 出力例:
# Available versions:
# 2.7.18
# 3.6.12
# 3.7.9
# 3.8.6
# 3.9.0
# ...

# Python 3.9.0をインストール
pyenv install 3.9.0

# 出力例:
# Downloading Python-3.9.0.tar.xz...
# Installing Python-3.9.0...
# Installed Python-3.9.0 to /home/username/.pyenv/versions/3.9.0

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

インストールしたPythonバージョンを使用するには、以下のコマンドを実行します。

# グローバルにPythonバージョンを設定
pyenv global 3.9.0

# 出力例: (出力なし、成功時)

# 現在のPythonバージョンを確認
python --version

# 出力例:
# Python 3.9.0

特定のディレクトリでのみ異なるバージョンを使用したい場合は、localコマンドを使います。

# 現在のディレクトリにPythonバージョンを設定
pyenv local 3.8.6

# 出力例: (出力なし、成功時)

# .python-versionファイルが作成されます
ls -la | grep python-version

# 出力例:
# -rw-r--r--  1 username  staff    6 Oct 15 10:30 .python-version

Windowsでのpyenv-winを使う方法

Windowsユーザーは、pyenvの代替としてpyenv-winを使用できます。pyenv-winはpyenvのWindows版で、同様の機能を提供します。

pyenv-winのインストール方法

PowerShellを管理者権限で開き、以下のコマンドを実行します。

# GitHubからpyenv-winをインストール
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"

# 出力例:
# Downloading pyenv-win...
# pyenv-win is installed successfully.
# ...

インストール後、環境変数が自動的に設定されますが、PowerShellを再起動して変更を反映させる必要があります。

Pythonのバージョンをインストールする

pyenv-winを使って特定のPythonバージョンをインストールします。

# 利用可能なPythonバージョンを確認
pyenv install --list

# 出力例:
# Available versions:
# 2.7.18
# 3.6.8
# 3.7.9
# 3.8.10
# 3.9.13
# ...

# Python 3.9.13をインストール
pyenv install 3.9.13

# 出力例:
# :: [Info] ::  Downloading Python-3.9.13...
# :: [Info] ::  Installing Python-3.9.13...
# :: [Info] ::  Installed Python-3.9.13 to C:\Users\username\.pyenv\pyenv-win\versions\3.9.13

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

インストールしたPythonバージョンを使用するには、以下のコマンドを実行します。

# グローバルにPythonバージョンを設定
pyenv global 3.9.13

# 出力例: (出力なし、成功時)

# 現在のPythonバージョンを確認
python --version

# 出力例:
# Python 3.9.13

特定のディレクトリでのみ異なるバージョンを使用したい場合は、localコマンドを使います。

# 現在のディレクトリにPythonバージョンを設定
pyenv local 3.8.10

# 出力例: (出力なし、成功時)

# .python-versionファイルが作成されます
dir -Hidden | findstr python-version

# 出力例:
# -a----        10/15/2023   2:30 PM              6 .python-version

venvを使う方法

venvはPython 3.3以降に標準で組み込まれている仮想環境作成ツールです。pyenvと異なり、Pythonのバージョン自体を管理するのではなく、既にインストールされているPythonを使って独立した環境を作成します。Windows、macOS、Linuxのすべてのプラットフォームで利用可能です。

仮想環境の作成

venvを使って仮想環境を作成するには、以下のコマンドを実行します。

# Python 3.xの場合
python3 -m venv myenv

# 出力例: (出力なし、成功時)

# 作成された環境を確認
ls -la myenv

# 出力例:
# total 16
# drwxr-xr-x  6 username  staff  192 Oct 15 10:35 .
# drwxr-xr-x  3 username  staff   96 Oct 15 10:35 ..
# drwxr-xr-x  3 username  staff   96 Oct 15 10:35 bin
# drwxr-xr-x  2 username  staff   64 Oct 15 10:35 include
# drwxr-xr-x  3 username  staff   96 Oct 15 10:35 lib
# -rw-r--r--  1 username  staff   75 Oct 15 10:35 pyvenv.cfg

仮想環境の有効化と無効化

作成した仮想環境を有効化するには、以下のコマンドを実行します。

# Linuxおよび macOSの場合
source myenv/bin/activate

# 出力例:
# (myenv) username@hostname:~$

# Windowsの場合
myenv\Scripts\activate.bat  # コマンドプロンプトの場合
# または
myenv\Scripts\Activate.ps1  # PowerShellの場合

# 出力例:
# (myenv) C:\Users\username\project>

# 仮想環境が有効になっていることを確認
where python  # Windowsの場合
# または
which python  # Linuxおよび macOSの場合

# 出力例:
# /path/to/myenv/bin/python

仮想環境を無効化するには、以下のコマンドを実行します。

# 仮想環境の無効化
deactivate

# 出力例:
# C:\Users\username\project>  # Windowsの場合
# username@hostname:~$  # Linuxおよび macOSの場合

複数のPythonバージョンでの仮想環境

異なるPythonバージョンで仮想環境を作成するには、そのバージョンのPythonを使ってvenvを実行します。

# Python 3.8で仮想環境を作成
python3.8 -m venv py38env

# Python 3.9で仮想環境を作成
python3.9 -m venv py39env

# 出力例: (出力なし、成功時)

これにより、異なるPythonバージョンを使った複数の仮想環境を管理できます。

まとめ

Pythonのバージョンを切り替える方法として、主に3つのツールを紹介しました。

  1. pyenv: システム全体または特定のディレクトリでPythonのバージョンを管理できます。macOSとLinuxで利用可能です。
  2. pyenv-win: pyenvのWindows版で、Windowsでのバージョン管理を可能にします。
  3. venv: Python標準の仮想環境ツールで、既存のPythonインストールから独立した環境を作成します。すべてのプラットフォームで利用可能です。

プロジェクトの要件に応じて適切なツールを選択しましょう。複数のPythonバージョンを頻繁に切り替える必要がある場合はpyenvが便利です。一方、特定のプロジェクト用に独立した環境が必要な場合はvenvで十分です。

両方のツールを組み合わせて使用することも可能です。pyenvで複数のPythonバージョンをインストールし、各バージョンでvenvを使って仮想環境を作成するという方法が効果的です。

タイトルとURLをコピーしました