環境
- python 3.11.4 (venv)
- Windows 11
- VSCodeのExtension
- Python
- mypy-type-checker
mypy-type-checkerで出たエラーログ
note: A user-defined top-level module with name “typing_extensions” is not supported
エラーの意味
このエラーは、どうやらmypyが探索するフォルダ内にmypy自身のコードが掛かれたフォルダやmypyの拡張ライブラリが存在すると出現する.
mypyでmypy自身(or mypyの拡張ライブラリ)のソースコードの静的解析は出来ませんよ、と伝えたいのではないかと解釈している。
原因
"python.analysis.extraPaths": [
// ".venv\\Lib\\site-packages"
],
VSCodeのpython Extensionのpython.analysis.extraPaths
が原因だった.
VSCodeがsite-packages内のコードを探索しに行くのか、site-packages内のフォルダもmypyにチェックされる対象になっていた模様
解決策
"python.analysis.extraPaths": [
// ".venv\\Lib\\site-packages"
],
python.analysis.extraPathsの設定を消す
自分はワークスペース内に.venvを配置したので、extraPathsを外しても探索されたので設定を消したことによる副作用はなかった。
ただ.venv
をプロジェクトと異なる所に配置すると、extraPathsでライブラリのコードを参照しないとintelliSenseが使えないので困りそう。
また自分はGドライブで開発しているのだが、mypyがC:\ドライブにあるとマウントされているドライブが異なる…みたいなエラーが発生した。
そんな経緯から.venv
をプロジェクトルートに配置するのが安牌なのかもしれない。
コメント