🔥
VS Codeでpylanceがクラッシュする場合の対策
事象
VS Codeでpythonを実行すると以下のエラーが発生するようになった。
Pylance has crashed. Would you like to try using a Node.js executable to run the language server?
調べたところ以下のissueがヒットした。
私の環境では100GB以上のデータセットが存在する外部SSDをdockerコンテナ内でマウントして扱っていたので同様の理由と思われる。
対策
issue内にあるように対策としては以下のどちらかを実行すると良いらしい。
- pyright[1]の設定で解析対象のフォルダを限定する
- pylanceのメモリ制限を緩和するためのNode.jsを指定する
試しに前者のpyrightの設定をしたところエラーが解消した。pyproject.tomlがある場合は以下のようにinclude, excludeを自分のディレクトリ構成に合わせて記述すればいい。
# in pyproject.toml
[tool.pyright]
include = ["src"] # 対象とするフォルダ
exclude = [] # 除外するフォルダ
私の場合、pythonファイルはすべてsrc配下においているためincludeを指定するだけでokだった。
特定のフォルダを除外したい場合はexcludeでフォルダを指定すれば良い。
参考
[1] https://github.com/microsoft/pyright
静的型チェッカーツールであるpyrightをVSCode用の拡張機能として提供しているのがPylance。そのためpyrightの設定を変更する必要がある。
Discussion