はじめに
Pythonでモジュールをインポートする際に、pip installしたのに「モジュール見つからないよ~」と言われたときの解決方法です。
anaconda と Pythonを両方インストールした記憶のある人はこれで解決する可能性が高いです。
(何度PythonとAnacondaのuninstallとinstallを繰り返したか。。。)
備忘録として書きましたので良ければ参考にしてください。
環境
- Windows11
- VSCode
状況
コマンドプロンプトでpip installすると「既にインストールされてるよ~」と帰ってくる
C:\Users\namae>pip install モジュール名
Requirement already satisfied: モジュール名 in c:\users\namae\appdata\local\programs\python\python312\lib\site-packages (4.66.4)
Requirement already satisfied: colorama in c:\users\namae\appdata\roaming\python\python312\site-packages (from tqdm) (0.4.6)
なのに、以下のようにimportしようとすると「見つからないよ~」と帰ってくる
import モジュール名
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
Cell In[1], line 1
----> 1 import モジュール名
ModuleNotFoundError: No module named 'モジュール名'
確認すること
カーネル
VSCodeの右上にあるPython3.12.4(バージョンは人によって違います)を押してPythonがどこで実行されているか確認
この場合はPythonで実行されている。
もし、パスの中にanacondaという単語が入ってたらanacondaで実行されている。
※パス:写真の(~\AppData...\python.exe)のこと
システム環境変数
Pythonがどこで実行されているか確認できたら、次は環境変数が正しく設定されているか確認します。
このとき、PythonがPythonで実行されているのに(分かりづらい)環境変数のpathがanacondaになっている、もしくはその逆だと上手くモジュールのインポートができません。
タスクバーの検索エンジンで「システム環境変数」と入力すると、システム環境変数の編集というのが出てくるのでクリック。
ユーザーの環境変数から「Path」を選択し、編集をクリック
(黒塗りはユーザー名です)
こんな感じでパスが色々設定されています。
- カーネルの確認で「Python」上でPythonが実行されている場合
→パスの中にanacondaという単語が入っているものを選択して削除
※anacondaはもう使わないよ~って人だけやってください。責任は取れません。- 正しいパスを設定する
フォルダの「Cドライブ→ユーザー→ユーザ名→AppData→Local→Programs→Python」の中にPython312(312はバージョン)があると思うので、探す。(AppDataがない場合、「隠しファイルを表示」みたいなものを検索して設定してください)
この時にPythonのバージョンがカーネルで確認したものと一致していることも確認してください。(カーネルで確認したバージョンが3.12.4であればPython312でOK)
- 正しいパスを設定する
Python312までたどり着いたら(Python312の中に入っておく)、画像の赤色部分を右クリック→アドレスをコピーを選択。
システム環境変数に戻り、新規を選択→先ほどコピーしたものを貼り付けでOK
フォルダに戻り、Scriptsの中に入る→先ほどと同様にアドレスをコピー。
システム環境変数にコピーしたアドレスを新規で追加。
ここまでできたらPCを再起動して、インポートしたかったモジュールをpip installし、VSCodeでimportする。
おわり。