1台のPCで複数のVersionのPythonを使えるようにする (venv)

仮想環境を使い、複数のVersionのPythonを使えるようにする

Python の仮想環境構築には、venv, virtualenv, pyenv など、いろいろあるようですが、この記事は venv に関する記事です。

今後、Python の過去バージョンを使うことがあるかもしれません。
そのときの対処方法です。
今、インストールしている Python をアンインストールして、別の Version の Python をインストールする、なんてことしたくありませんよね。
1台の PC で、複数の Version の Python を扱うことを、仮想環境で実現します。

複数のVersionのPythonをインストールする

まずは、Windows に複数の Version の Python をインストールしましょう。
私の PC には、すでに Python 3.9.9 がインストールされているので、別のバージョンをインストールしてみます。

検索窓に、"python releases for windows" と入力すると、このサイトにたどり着けます。
https://www.python.org/downloads/windows/

python releases for windows

Python のインストールで面倒なことになりたくないので、installer があるバージョンを選択します。

例えば、Python 3.7.13 をクリックしてみると、Python 3.7.13 には installer が存在しません。

python 3.7.13

そこで、Python 3.7.13 のダウンロードサイトを見ると、
https://www.python.org/downloads/release/python-3713/

"The final bugfix release with binary installers for 3.7 was 3.7.9."
"インストーラー付きの最新バグ修正リリースは 3.7.9"
と書かれています。

python 3.7.13

では、Python 3.7.9 をダウンロードして、インストールします。
Windows x86-64 executable installer を選ぶと、python-3.7.9-amd64.exe がダウンロードできるので、ダブルクリックでインストールします。
https://www.python.org/downloads/release/python-379/

Python 3.7.9

Python のバージョンを確認します。
python コマンドと py コマンドの違いは、下記サイトに説明があります。
[Windows]'py'と'python'コマンドの違い
WindowsユーザーはPythonランチャーの存在を意識しましょう

$ python -V
Python 3.9.9

$ py -V
Python 3.9.9

$ py -3.9 -V
Python 3.9.9

$ py -3.7 -V
Python 3.7.9

PythonのVersionごとに仮想環境を作る

Python 3.7.9 の仮想環境を作成します。
仮想環境の作成コマンドは、python -m venv 仮想環境のパス> です。

# Python 3.7.9 の仮想環境を作成する。
$ py -3.7 -m venv .\venv_py37

# 仮想環境を有効化すると、仮想環境上にコマンドラインが移動します。
$ .\venv_py37\Scripts\activate

# 仮想環境の Python の Version を確認する。
(venv_py37) $ python -V
Python 3.7.9

# 仮想環境を無効化する。
(venv_py37) $ deactivate

Python 3.9.9 の仮想環境を作成する場合は、py -3.9 -m venv .\venc_py39 です。

仮想環境を作成したら、仮想環境上で Python モジュールをインストールするだけです。
Python モジュールのインストールも、仮想環境ごとになるので、モジュールの Version 違いの環境も作成できます。

まずは、pip をインストールしましょう。(すでにインストール済のこともあるかもです。)

(venv_py37) pip install pip

以上です。