今回は、Pythonのバージョンを変更する方法についてご紹介します。
Pythonにはさまざまなバージョンが存在し、開発環境やプロジェクトの要件に応じて使い分ける必要があります。
ここでは、Pythonのバージョンとは何かを簡単に整理し、主要なバージョン切り替え方法を具体例とともにご紹介します。
さらに、手法ごとの注意点やよくあるエラーへの対策もあわせて解説します。
Pythonのバージョンとは
Pythonは、時期や機能追加に応じてバージョン番号が異なるプログラミング言語です。
バージョン番号の一例として、Python 3.8、3.9、3.10などが挙げられます。
新しいバージョンほど機能が充実していたり、パフォーマンスが向上していたりします。
しかし、既存のコードやライブラリとの互換性を保つために、あえて特定のバージョンを使い続ける場合もあります。
このように、必要に応じて自由にバージョンを切り替えられるようにすることが大切です。
Pythonバージョンを切り替える主な方法
Pythonのバージョンを切り替える方法はいくつかあります。
以下では、代表的な手法を挙げて解説します。
1. pyenv を利用する
pyenvは、複数のPythonバージョンをインストール・管理・切り替えするためのツールです。
システム全体で特定のPythonバージョンを使いたい場合や、プロジェクトごとにバージョンを切り替えたい場合に有効です。
以下は、pyenvの基本的なインストールとバージョン切り替え方法の例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# GitHubからクローンしてインストールする場合の例 curl https://pyenv.run | bash # シェルの初期化ファイルに環境変数を追加(例:~/.bashrc や ~/.zshrc) export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" # インストール可能なPythonバージョン一覧を確認 pyenv install --list # 例: Python 3.9.7 をインストール pyenv install 3.9.7 # グローバル(システム全体)で使用するバージョンを指定 pyenv global 3.9.7 # プロジェクトディレクトリでのみ特定バージョンを使用したい場合 cd /path/to/your/project pyenv local 3.9.7 |
設定が正しくできていれば、次のようにバージョンを確認できます。
1 |
python --version |
Python 3.9.7
2. 仮想環境(venv/virtualenv)を利用する
仮想環境を利用すると、システム全体のバージョンを変えずに、プロジェクト単位で異なるバージョンのPythonやライブラリを管理できます。
Python標準のvenvや、virtualenvなどを使う方法があります。
以下、venvを使った例です(Python 3.8を利用):
1 2 3 4 5 6 7 8 |
# Python3.8を使った仮想環境を作成 python3.8 -m venv myenv38 # 仮想環境をアクティブにする(bashの場合) source myenv38/bin/activate # 仮想環境を無効化する場合 deactivate |
virtualenvを利用して特定バージョンを指定する場合は、以下のようにします。
1 2 3 4 5 6 7 8 |
# virtualenv のインストール pip install virtualenv # Python3.9を指定して仮想環境を作成 virtualenv -p python3.9 myenv39 # 作成した仮想環境をアクティブにする source myenv39/bin/activate |
3. Anaconda / Miniconda を利用する
AnacondaやMinicondaは、Python本体と多数のライブラリをまとめてインストールできるディストリビューションです。
condaコマンドを使えば、環境ごとにPythonバージョンを切り替えて利用できます。
例として、Python 3.8の環境を作成する場合は以下の通りです。
1 2 3 4 5 6 7 8 |
# Python 3.8 の環境 "py38_env" を作成 conda create -n py38_env python=3.8 # 環境のアクティブ化 conda activate py38_env # 作業が終わったら conda deactivate |
4. Linuxの update-alternatives でシステム全体を切り替える
update-alternativesを利用すると、Debian系Linuxでシステム全体のデフォルトPythonバージョンを変更できます。
ただし、OSや他のツールが依存するバージョンがあるため、誤操作によりシステムが不安定になる可能性があります。
以下に、切り替えの例を示します。
1 2 3 4 5 6 |
# バージョン候補の登録 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 2 # 登録したバージョンを選択 sudo update-alternatives --config python |
表示される候補から使用したいバージョンを選択します。
よくあるエラーと対処法
ここでは、バージョンを変更する際によく起こるエラー例をまとめます。
- Command not found: pyenvやvirtualenvなどがインストールされていない、もしくはPATHが通っていない場合に発生することがあります。インストールの再確認やシェル設定ファイルの確認が必要です。
- Permission denied: システム全体のPythonを切り替える際にsudo権限がない場合などに起こります。sudoを付けるか、権限の設定を見直してください。
- 依存パッケージ不足: pyenvなどをインストールする前に、build-essentialやlibssl-devなどの開発に必要なライブラリを入れていないとエラーが出ることがあります。必要なライブラリをあらかじめインストールしてください。
- 環境変数の設定ミス: シェルの初期化ファイルに正しく設定が行われていないと、実行時に意図しないバージョンが起動したり、コマンドが見つからないケースがあります。設定内容を再確認しましょう。
まとめ
Pythonのバージョンを柔軟に切り替えることで、開発効率や互換性を確保しやすくなります。
pyenvや仮想環境、Anacondaなど、用途に合った方法を選択することがポイントです。
システム全体の切り替えは慎重に行い、トラブルを回避しながら最適なバージョンを活用しましょう。