Address
304 North Cardinal St.
Dorchester Center, MA 02124

Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM

WindowsでPythonをバージョンアップするとpip list/freezeで一部のモジュールやライブラリが表示されなくなった場合の解決方法

WindowsでPythonをバージョンアップするとpip list/freezeを使っても、一部のモジュールやライブラリが表示されなくなった場合の解決方法の解説

先日、WindowsのPythonをバージョンアップする方法を解説した記事を書きました。

このようにWindowsに新しいバージョンのPythonをインストールした場合に、それまで使っていた旧バージョンのPythonで使っていたライブラリ/モジュール/パッケージの一覧を確認しようと、

  • pip list
  • pip freeze

を実行しても、一部のライブラリなどが一覧表示に出てこないということがあります。

今回のトラブル内容

たとえば、新しくインストールしたPythonを3.11として、それまで使っていたバージョンを3.8の32bit版とします。

Pythonは基本的にバージョンが違うと独立したフォルダに別物としてインストールされるため、環境もそれぞれ独立し、お互いに無関係ということになります。

もし、3.11をインストールしたときにそのpathを登録していると、コマンドプロンプトやPowershellで、

python
py

と入力すると、これは新しくインストールした3.11が動くようにようなります。この場合に、

pip list

としても、それはインストールしたばかりの3.11版のライブラリなど(つまり、最初から付属しているライブラリなどだけ)しか一覧に出てきません。

そこで、Pythonランチャーのpyを使ったコマンドで旧バージョンであるPython3.8-32を指定してPython3.8-32でインストールしたライブラリなどの一覧を表示すべく、

py -3.8-32 -m pip list

などとすれば、それまで使っていた3.8~のライブラリなどが表示されるだろうと期待するはずです。

ですが、このようにしてもその3.8-32でインストールしたライブラリなどが一覧に出てこないことがあります。

原因と解決方法

原因の1つ:Windowsの環境変数の変更

上記トラブルの原因はいくつかあるかもしれませんが、よくある原因の1つに、Windowsの環境変数の「Path(パス)」の項目が、新しくインストールしたPythonの情報によって変化してしまったということがあります。

解決方法の手順

そこで環境変数のPathの項目を編集しましょう。

Windowsキーを押して、スタートメニュー検索欄に「環境」と入力します。すると「システム環境変数の編集」という項目が登場します。

Windowsの環境変数

その項目をクリックすると、次のような画面となり、

Windowsの環境変数の編集

項目「Path」を選択して、ボタン「編集」を押します。すると登録されているPathの一覧が表示されます。

Windows環境変数の編集

この一覧の最上段にそれまで使っていたバージョンのPython(今回の例では3.8-32)の、フォルダ「Lib」のパスが来るようにします。上の画像のボタン「新規」またはボタン「上へ」を使って作業してください。

たとえば、仮にそのLibフォルダ(内部にsite-packegesというフォルダがあります)のパスが次のようなものだった場合に、

C:\Users\○○○○\AppData\Local\Programs\Python\Python38-32\Lib

というパスを、そのままボタン「新規」を使って記入するか、もともとそのパスが一覧に存在していれば、それをボタン「上へ」を押して、とにかく最上段へ持っていきます。

作業後は、環境や場合によってはパソコンを再起動したほうがいいかもしれません。

この作業が終われば実際に「pip list」などで、それまで使っていた(今回なら3.8-32)のライブラリ一覧が表示されるか確かめてみてください。

プログラミング学習は、動画サイトUdemyでの動画学習が圧倒的に効率がよくわかりやすいです。次のように様々なおすすめ講座があります。