1
1

More than 3 years have passed since last update.

Spacemacsでpyrightを使う

Posted at

SpacemacsでLSPの要となるlsp-modeのうちlsp-pyrightによってPythonの型チェッカーpyrightが使えるようになったことを最近知ったので使う

(従来のpylsでいいじゃん説はあるが最近なんか重い気がしたので速いと評判のpyrightを試している)

pyrightインストール

node使ってるならnpmでpyrightをインストールしておく

$ npm install -g pyright

SpacemacsでPython LayerのLSPサーバをpyrightに指定

.spacemacsのlayer設定ではこう書けとあるので書く。
LSPサーバとして指定できる模様

.spacemacs(抜粋)
(defun dotspacemacs/layers ()
  (setq-default
   dotspacemacs-configuration-layers
   '(
     (python :variables 
      python-backend 'lsp 
      python-lsp-server 'pyright)
    )
  )
)

cf. https://github.com/syl20bnr/spacemacs/tree/develop/layers/%2Blang/python

Spacemacs側でjediをsetupする必要はなさそう

LSPプロジェクトのルート下に設定ファイルを作成

Pythonファイルを開くとLSPのプロジェクトルートを決めろと言われるが、そのプロジェクトルートに pyrightconfig.jsonを作っておく。

Ubuntu18.04LTS on WSL2 on Windows10でやったが、たとえばユーザ名 v2okimochiでプロジェクトルート v2project/に置くならこんな感じ

pyrightconfig.json
{
  "venvPath": "/home/v2okimochi/.local/share/virtualenvs/v2project-ABCDEFGH",
  "stubPath": "",
  "executionEnvironments": [
    {
      "root": "src"
    },
    {
      "root": "tests",
      "extraPaths": [
        "src"
      ]
    }
  ]
}

3rd partyライブラリを読めてないかも

boto3とか使おうとしたらimport unresolvedエラーだった。

VSCodeでの似たようなエラーは修正されたようだが。。。
cf. all third party imports not resolved in VS Code

とりあえず pipenv run pip install boto3でこっそりインストールしたら解決したけどなんか違う気がする (Pipfileに書いてあるのにインストールされてないとしたらそれはそれで気になる)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1