先日、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キーを押して、スタートメニュー検索欄に「環境」と入力します。すると「システム環境変数の編集」という項目が登場します。

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

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

この一覧の最上段にそれまで使っていたバージョンのPython(今回の例では3.8-32)の、フォルダ「Lib」のパスが来るようにします。上の画像のボタン「新規」またはボタン「上へ」を使って作業してください。
たとえば、仮にそのLibフォルダ(内部にsite-packegesというフォルダがあります)のパスが次のようなものだった場合に、
C:\Users\○○○○\AppData\Local\Programs\Python\Python38-32\Lib
というパスを、そのままボタン「新規」を使って記入するか、もともとそのパスが一覧に存在していれば、それをボタン「上へ」を押して、とにかく最上段へ持っていきます。
作業後は、環境や場合によってはパソコンを再起動したほうがいいかもしれません。
この作業が終われば実際に「pip list」などで、それまで使っていた(今回なら3.8-32)のライブラリ一覧が表示されるか確かめてみてください。
プログラミング学習は、動画サイトUdemyでの動画学習が圧倒的に効率がよくわかりやすいです。次のように様々なおすすめ講座があります。
世界最大の動画学習サイトUdemyのおすすめPython講座【PR】
- AWSで作るWEBアプリケーション 実践講座
- 現役シリコンバレーエンジニアが教えるPython
3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
- 独学で身につけるPython〜基礎編〜【業務効率化・自動化で残業を無くそう!】
- 【完全初心者向け】絶対に挫折させないPython入門講座
- 【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門
- はじめてのPython 少しずつ丁寧に学ぶプログラミング言語Python3のエッセンス
- 【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜
- 現役シリコンバレーエンジニアが教えるアルゴリズム・データ構造・コーディングテスト入門