VSCodeのmissing importsが消えなくて困った…
私はPythonのコーディングをする際、VSCode上のターミナルにて仮想環境を有効化しています。
そのため新しいプロジェクトを作成する流れとしては…
- macのターミナル上で実行
mkdir
cd
code .
- VSCode上のターミナルで実行
python3 -m venv venv
source venv/bin/activate
必要であればpip install
という形でした。
今回もいつも通りにパッケージたちをimportし、VSCodeのターミナルにてpython3 -m pip install
とインストールしていったところ、一つのパッケージだけPylanceのエラーPylance(reportMissingImports)
が消えませんでした。
しかし試しにデバッグの開始を行ってみると、そのパッケージを用いたプログラムが問題なく動作しました。
import自体はできているが、VSCode上では認識できていない様子?
不便なので直そうと色々試しましたが、なかなか治らない…。
試したけどダメだったこと
1. Python: Select Interpreter
異なるインタープリターを設定していないか、仮想環境がちゃんと有効になっているのかを確認する。
VSCode上でCtrl + Shift + P
を押してコマンドパレットを開き、Python: Select Interpreter
を行ったが、正しく今の仮想環境が選択されていた。
2. pip installのやり直し
VSCodeのターミナルにてpython3 -m pip uninstall
からのpython3 -m pip install
を再度行ったが、症状は変わらず。
3. キャッシュのクリアと再起動
VSCode上でCtrl + Shift + P
を押してコマンドパレットを開き、Python: Clear Cache and Reload Window
をしたものの、症状は変わらず。
全てのパッケージがmissing importsになったあと、少しずつ読み込まれていくが、問題のパッケージのみmissing importになる。ダメです。
4. 仮想環境の作り直し
venvを消してもう一度作成したが、変わらず。
解決策
結局、macのターミナル上でPythonの仮想環境を作成して有効化、その後VSCodeを起動する形に変えることで解決しました。
- macのターミナル上で実行
mkdir
cd
python3 -m venv venv
source /venv/bin/activate
code .
冒頭のものから上記の流れへ変更し、VSCodeのターミナルを使わないようにしました。
VSCodeが開くと、無事にmissing importsのエラーは消えていて、問題解決。
その後のpip installはmac・VSCodeどちらのターミナルでも問題なさそうでした。