はじめに
「このスクリプト、Pythonの最新バージョンだと動かない……?」
そんな場面に直面したことがあるなら、Pythonのバージョン切り替えが必要な可能性が高い。
Pythonで開発されたアプリケーションやスクリプトの中には、特定のバージョンにしか対応していないものが珍しくない。
本記事では、すでに複数のPythonバージョンがインストールされている前提で、py
コマンドを活用してバージョンを柔軟に切り替える方法を紹介する。
Pythonのバージョンを削除したり入れ替えたりする必要はない。少しの工夫で、複数バージョンを共存させることができる。
なぜPythonのバージョン切り替えが必要なのか
Pythonは進化のスピードが速く、バージョンごとに仕様変更が頻繁に行われている。
新しいバージョンでは機能が追加される一方、非推奨や削除といった変更も多い。
このため、あるバージョンで動作していたコードが、別のバージョンでは動かないこともある。
とくに以下のようなケースでは、バージョン切り替えの必要性が浮上する。
- 過去のライブラリが特定のPythonバージョンにしか対応していない
- テスト対象のアプリがPython 3.10で構築されており、最新バージョンでは互換性が不明
- 一部のフレームワークやビルドツールが、古いバージョンでしか安定しない
こうした背景を踏まえると、環境ごとにPythonのバージョンを切り替える技術は、開発者にとって基本スキルと言える。
Pythonのバージョンを切り替えるコマンド例
以下は、Windows環境で py
ランチャーを使い、複数のPythonバージョンを管理・切り替える具体例だ。
PS C:\> py --list
-V:3.12 * Python 3.12 (64-bit)
-V:3.11 Python 3.11 (64-bit)
-V:3.10 Python 3.10 (64-bit)
PS C:\> py -3.12 --version
Python 3.12.0
PS C:\> py -3.11 --version
Python 3.11.6
PS C:\> py -3.10 --version
Python 3.10.11
--list
で現在インストールされているバージョンを確認し、-<バージョン>
を指定して実行するだけ。
非常にシンプルながら、即戦力になる。
実行手順と確認方法
手順は次のとおり。特別なツールの導入は不要。
- インストール済みのPythonバージョンを一覧表示する
コマンド:py --list
インストールされているすべてのPythonバージョンが一覧で表示される。アスタリスク(
*
)が現在のデフォルト。 -
特定バージョンの確認
使用したいバージョンを指定し、バージョン番号を出力して確認する。
例:py -3.11 --version
- バージョンを切り替えて実行
バージョンを指定するだけで、切り替えてスクリプトを実行できる。
例:py -3.10 script.py
より高度な管理にはpyenvという選択肢も
Windows環境での py
コマンドは手軽で便利だが、LinuxやMacでは pyenv
の利用が一般的になっている。
pyenv
を使えば、プロジェクトごとに異なるPythonバージョンを設定できるため、より細かく環境を制御できる。
複数プロジェクトを並行して扱う開発者にとっては、検討に値するツールだ。導入については別記事で紹介している。
まとめ
Pythonの複数バージョンを切り替える技術は、開発や運用の現場で避けて通れない。
py
コマンドを活用すれば、インストール済みのバージョンをすばやく確認し、状況に応じて切り替えることが可能。
環境構築やトラブルシューティングの効率が一段と上がるはずだ。
古いコードも、新しいコードも。
そのどちらにもやさしいPython環境を手に入れよう。
コメント