venvをつくりまくるとそのたびにディスクが圧迫されるのであんま好きじゃない。
僕は環境が汚れてもいい(パッケージごとの厳しいバージョン管理を必要としているほうが悪いと思ってる)ので、グローバルpythonにどんどんいろんなパッケージをぶち込んで使っている。
でもここで問題になるのがそもそもpython3.xxでないと動かないけど自分のパソコンに入っていないとき、異なるバージョンのpythonのインストールの必要が生じる。
インスコ
pipは普通要るのでチェック、それ以外はいらない

環境変数には今はやめておく。手動で一番下にD:\Python39とD:\Python39\Scriptsをあとで設定しておくといいだろう。(確かインストーラーに自動設定させると一番上になるので、後で何気なく「python」としたときにびっくりする可能性がある)

Python3xx/Scriptsにはパスを通しておく。コマンドラインからはpip3.xxでバージョンを分けて利用可能だ。
しかしpython.exeの名前を変えると動かなくなるのでpython.exeはバージョンごとに別の名前で呼ぶことができない。
そこでバッチファイルを作る。
%~dp0\python.exe %*
こんなのでいい。これにて、コマンドラインで
pip3.9と打てば3.9のpipが弄れるし、
python3.9と打てば3.9のpythonで実行できる。
普通にpythonと打てば(誤って今回の作業でパスの一番上に設定してなければ)今までデフォルトだったpythonバージョンが起動できる。敢えてpython3.xxとすることで任意のバージョンのpythonを起動できるというワケだ。