IntelliJ IDEAでmypyによるInspectionを利用する設定手順
本エントリでは、IntelliJ IDEAで
mypyによるInspectionを利用するための設定手順を示します。
# pycharmでも、おそらく同様の手順で設定出来ると思います。
ここでは、mypyを利用して、
型のアノテーションが抜けている箇所に警告を表示されるように設定してみます。
Mypy | readthedocs
https://mypy.readthedocs.io/en/stable/index.html
Mypy | plugins.jetbrains.com
https://plugins.jetbrains.com/plugin/11086-mypy
mypyのセットアップ
対象プロジェクトのディレクトリを用意します。
$ mkdir mypy-sample && cd $_
venvで仮想環境を作ります。
$ python3 -m venv venv
$ source venv/bin/activate
mypyをインストールします。
$ pip install mypy
適当にPythonのコードを用意します。
ここでは、以下のsample.py
を作成します。
def plus_values(a, b):
return a + b
mypyでsample.py
の検証を行います。
$ mypy sample.py
何も指摘が無いことを確認したら、
次は、型のアノテーションの記載漏れを警告するように設定します。
以下の内容で、setup.cfg
を作成します。
[mypy]
disallow_untyped_calls = True
disallow_untyped_defs = True
この状態で、mypyを実行すると、
以下のように型のアノテーションが漏れている事が警告されます。
$ mypy sample.py
sample.py:1: error: Function is missing a type annotation
Found 1 error in 1 file (checked 1 source file)
# setup.cfgの設定項目は、以下を参照してください。
# The mypy configuration file | Mypy
# https://mypy.readthedocs.io/en/stable/config_file.html
mypyプラグインのセットアップ
次にIntelliJ IDEAから、mypyの警告を確認出来るように設定します。
IntelliJ IDEAを起動して、先ほど作成したmypy-sample
を開きます。
Python SDKの設定
メニューから File -> Project Structureを開きます。
Platform Settings - SDKsで、「+」から「Add Python SDK」を選択します。
Virtualenv Environment を選び、
Existing environmentで、「※プロジェクトのパス※/venv/bin/python」を指定します。
Project Settings - Projectで、「Project SDK」を先ほど設定したSDKに変更します。
mypyプラグインの設定
メニューから、Preferences → Pluginsを開きます。
Marketplaceの検索ボックスに「mypy」と指定して、以下ののプラグインをInstallし、IDEAを再起動します。
Mypy | plugins.jetbrains.com
https://plugins.jetbrains.com/plugin/11086-mypy
メニューから、Preferences → Other Settings → Mypyを開きます。
「Path to Mypy executable」に「※プロジェクトのパス※/venv/bin/mypy」を指定します。
Inspectionの確認
ここまで設定出来たら、
sample.py
を開いて、Inspectionを確認します。
以上の設定で、
IDEAのエディタ上で、Inspectionを確認しながら、
型のアノテーションを追加・編集出来るとようになりました。
都度、mypyコマンドを実行するよりは、スムーズに編集出来るようになると思います。