🔥
mypy の [import-untyped] や [import-not-found] への対応
mypy を実行する際、以下のようなエラーが出ることがある。
error: Skipping analyzing "gspread": module is installed, but missing library stubs or py.typed marker [import-untyped]
note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports
See と言われている公式ドキュメントに対応は書いてある。
エラーとしては、import しているモジュールに対応する type hint が無いというもの。
正攻法としては、ライブラリを更新して type hint が入るか、もしくは対応の stubs があれば、それをインストールすればよい。
しかし、stubs などが無いライブラリや、独自モジュールはよくある。
その際は --ignore-missing-imports
オプションを付ければよい。
そして、できるだけ --ignore-missing-imports
する対象は少なくすべきなので、
設定ファイルに ignore するライブラリを記述するのがよい。
例として、pyproject.toml ならば以下のようにすればよい。
[[tool.mypy.overrides]]
module = ['gspread', 'mymodule]
ignore_missing_imports = true
mypy.ini の場合は
を参照。
Discussion