Python Install Manager とは

提供: tknotebook
2026年10月8日 (木) 00:07時点におけるNakamuri (トーク | 投稿記録)による版

移動: 案内、 検索

メインページ>コンピュータの部屋#Python>Python Tips

はじめに

2025年10月7日 python3.14 はリリースされると共に、python の新しいインストーラ Python Install Manager(PIM) がリリースされました。

PIM はこれまでの個別のランタイム用インストーラーとは異なり、 複数の python ランタイムを自在にインストール/アンインストールするためのインストールマネージャーで 特定の python ランタイムとは独立した存在です。今のところ Windows 専用ですが、これまでの特定の python ランタイムとは 異なる考え方で作られています。

  1. 複数の python ランタイムを自在にインストール/アンインストールでき管理できる。
  2. 従来の python コマンドの他に linux版等と互換な名称のpython3 コマンドが提供されるようになった。
  3. バージョン番号付きの python3.13 コマンドなども提供され、py コマンドを使わなくても python のバージョンが指定できるようになった。
  4. 従来、各ランライムの Scripts ディレクトリに格納されていた、パッケージと共にインストールされる CLIコマンドが、一つのディレクトリに集約され、いつでも利用できるようになった。

以下に PIM の詳細を説明します。

インストール

まず、インストールから説明します。

実は、PIM のインストールでは、pythonの前のバージョンを完全にインストールしないといろいろな不具合に襲われます。 下記URLの手順に従って、古い python は削除した方が良いでしょう。古いランタイムと python Launcher(pyコマンド)の両方を削除して下さい。

Python完全アンインストール手順

https://www.insource-da.co.jp/dxpedia/02_0008.html

実はこれだけでも不十分で、[設定]→[アプリの詳細設定]→[アプリ実行エイリアス] の画面で、python.exe/pythonw.exe/python3.exe を OFF にすることをお勧めします。

アプリ実行エイリアスとは ~/AppData/Local/Microsoft/WindowsApps に置かれるコマンドのことで、 上記の設定で削除することができます。ここには notepad.exe など様々などこからでも使えるコマンドが登録されていて、 python.exe は利用者が python コマンドを打鍵したとき MSストアへ誘導するなどの機能が有りますが、pythonランタイムと衝突して 様々な不具合を生じさせることが報告されていますので、OFFにすることを強く推奨します。


アプリ実行エイリアス python.png


以上の掃除が終わったら、PIMをインストールしましょう。

PIM(Python Install Manager)のインストーラは https://www.python.org/downloads/ からもダウンロードできますし、 MSストアから[Python Install Manager]を選んでインストールすることもできます。

最初の pythonランタイムのインストール

PIM がインストールされた時点では python ランタイムは何もインストールされていません。

powershellのコマンドラインで

py

と叩くと、最新版の pythonランタイムのインストールが始まり、終わると pythonが起動します。

python ランタイムは ~/AppData/Local/Python に pythoncore-3.14-64 等といったフォルダにインストールされますが ここには PATH が通っていません。python や他のコマンドを起動するコマンドは ~/AppData/Local/Python/bin に置かれます。 こちらには PATH が通っています。

python.exe, pythonw.exe, python3.exe, pythonw3.exe、python3-64.exe, pythonw3-64.exe はインストールした pythonランタイムのうち、最新のランタイムのpythonを起動するコマンドです。

pip.exe, pip3.exe はインストールした pythonランタイムのうち、最新のランタイムのpipを起動するコマンドです。

python3.14.exe, python3.14-64.exe, pythonw3,14.exe, pythonw3.14-64.exe 等の pythonランタイムバージョンが付いたコマンドは、指定バージョンの pythonランタイムの python を起動します。

pythonランタイムのインストール

pythonのランタイムをインストールするには

py install <バージョン>
例 py install 3.12

というように、python install コマンドに pythonランタイムのバージョンを指定します。

インストールする pythonランタイムが既にインストール済みの pythonランタイムより古ければ ~/AppData/Local/Python/bin に有る python.exe, pythonw.exe, python3.exe, pythonw3.exe、python3-64.exe, pythonw3-64.exe は更新されず、最新の python を呼び出すように保たれます。

インストールする pythonランタイムが既にインストール済みの pythonランタイムより新しければ ~/AppData/Local/Python/bin に有る python.exe, pythonw.exe, python3.exe, pythonw3.exe、python3-64.exe, pythonw3-64.exe は更新され、最新の python を呼び出すようになります。

バージョン付きのコマンド python<バージョン>.exe, python<バージョン>-64.exe, pythonw<バージョン>.exe, pythonw<バージョン>-64.exe が新たに追加されます。

pythonランタイムのアンインストール

pythonのランタイムをインストールするには

py uninstall <バージョン>
例 py uninstall 3.12

というように、python uninstall コマンドに pythonランタイムのバージョンを指定します。

アンインストールする pythonランタイムが削除されることによって、インストール済みの pythonランタイムの最も新たしいバージョンが変化すれば、 ~/AppData/Local/Python/bin に有る python.exe, pythonw.exe, python3.exe, pythonw3.exe、python3-64.exe, pythonw3-64.exe が更新され、インストール済みの pythonランタイムの最も新たしいバージョンのpython を呼び出すようになります。

バージョン付きのコマンド python<バージョン>.exe, python<バージョン>-64.exe, pythonw<バージョン>.exe, pythonw<バージョン>-64.exe は削除されます。

~/AppData/Local/Python/bin にあるコマンドの役割

以上からわかるように python.exe, pythonw.exe, python3.exe, pythonw3.exe、python3-64.exe, pythonw3-64.exe は 常にインストールされている最新のpythonを起動するのに対し、 python<バージョン>.exe, python<バージョン>-64.exe, pythonw<バージョン>.exe, pythonw<バージョン>-64.exe は バージョンで指定されたバージョンの python を起動します。

旧来の python launcher では 古いpythonを起動するのに py -3.12 とかしていましたが、 PIM版では python3.12 でも起動できるようになりました。

パッケージのコマンドの扱いの違い

Python のパッケージには、Pythonの実行環境に コマンドを追加するものが有ります。 PIM版の Pythonランタイムでも、パッケージをインストールすると、パッケージによってはコマンドが pythonランタイムに追加されますが、 それは、Pythonランタイム の Scripts ディレクトリに置かれます。

例えば pythonに jupyter を pip でインストールすると、Scriptsディレクトリに jupyter.exe をはじめたくさんの コマンドが追加されます。これは旧来の pythonでも PIM版のpythonランタイムでも同じです。

但し、PIM版の pythonランタイムは複数同時にインストール可能なため、Scriptsディレクトリには Path が通っていません。 このため、パッケージのコマンドは PATH の通っている ~/AppData/Local/Python/bin に置かれます。

このディレクトリは一つしかないので、複数のpythonランタイムに同じ名前のパッケージのコマンドがインストールされると 名前が衝突してしまします。そこで、PIM ではインストールされている pythonランタイムの中で最新のもののパッケージの コマンドを優先します。

ここで注意すべきなのは、パッケージのコマンドは ~/AppData/Local/Python/bin に自動的には置かれないことです。 パッケージを pip でインストールした時点では ~/AppData/Local/Python/bin にはパッケージのコマンドは置かれず

py install --refresh

が叩かれると、PIM は各pythonランタイムの Scriptsディレクトリの状況を調べ、~/AppData/Local/Python/bin に置くべき コマンドを選んで置きます。従って、パッケージをインストールしても、py install --refresh を実行しないとコマンドは使えません。