複数バージョンのPythonを簡単に切り替える方法|互換性エラーや動作不良への実用対策

プログラミング

はじめに

このスクリプト、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 で現在インストールされているバージョンを確認し、-<バージョン> を指定して実行するだけ。
非常にシンプルながら、即戦力になる。

実行手順と確認方法

手順は次のとおり。特別なツールの導入は不要。

  1. インストール済みのPythonバージョンを一覧表示する
    コマンド:
    py --list
    

    インストールされているすべてのPythonバージョンが一覧で表示される。アスタリスク(*)が現在のデフォルト。

  2. 特定バージョンの確認
    使用したいバージョンを指定し、バージョン番号を出力して確認する。
    例:

    py -3.11 --version
    
  3. バージョンを切り替えて実行
    バージョンを指定するだけで、切り替えてスクリプトを実行できる。
    例:
    py -3.10 script.py
    

より高度な管理にはpyenvという選択肢も

Windows環境での py コマンドは手軽で便利だが、LinuxやMacでは pyenv の利用が一般的になっている。
pyenv を使えば、プロジェクトごとに異なるPythonバージョンを設定できるため、より細かく環境を制御できる。
複数プロジェクトを並行して扱う開発者にとっては、検討に値するツールだ。導入については別記事で紹介している。

まとめ

Pythonの複数バージョンを切り替える技術は、開発や運用の現場で避けて通れない。
py コマンドを活用すれば、インストール済みのバージョンをすばやく確認し、状況に応じて切り替えることが可能。
環境構築やトラブルシューティングの効率が一段と上がるはずだ。

古いコードも、新しいコードも。
そのどちらにもやさしいPython環境を手に入れよう。

コメント