Python3.8.3, Windows11にpipでmatplotlibとsklearnをインストールできないというエラーが発生しました。
matplotlibの最新バージョンはPython3.8系に対応しているはずなのですが、、、
エラー内容
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.・・・meson.build:1:0: ERROR: Could not parse vswhere.exe output
よくわからん。sklearnも同様のエラーでインストールできなかったため、PCの環境に原因がありそう。
試したこと
- Python3.8.3から3.8.10へのアップデート
- Python3.9へのアップグレード
- venvでの仮想環境上でpipできるか試す(できなかった)
- Anacondaのアンインストール
ダウングレードではなくアップグレードを試した理由は、Python3.8ですら4年前のバージョンなので、今更3.7以下にダウングレードしたくなかったから。
しかし何してもエラーは変わらなかったので、ダウングレードをしました。
ダウングレードしたらpipインストールできた
Python3.7.9にダウングレードしたところ、あっけなくインストールできました。
結局何が原因だったのか全く分からず、、、。
しかし今回の件で、ダウングレードするのは全然面倒くさくないことがわかったので、今度からトラブったらダウングレードを試してみようと思います。
ダウングレードの手順
1.Python公式からインストーラーをダウンロードする。https://www.python.org/downloads/windows/
好きなバージョンをどうぞ
2. Add to Path にチェックを入れてインストール
この画像はPython3.9のものですが、画面は同じです。
3. 環境変数のPathを確認し、新しく入れたPythonが今まで使っていたものより上に来ていることを確認。今回なら、3.8より上に3.7が来ている状態でOK
Windowsの検索窓から’システム環境変数の編集’で検索。詳細設定の右下にある’環境変数’→ユーザーの環境変数の’Path’をダブルクリック→画像のように、Python37がPython38より上にきていればOK
手順2でAdd to Path にチェックを入れ忘れると、新しく入れたPythonがPathに出てきません。
4. コマンドプロンプトにてPython -Vコマンドで、新しく入れたPythonのバージョンが表示されるか確認。
5. Visual Studio Codeならば、インタープリタを新しく入れたPythonに設定する。