何が起こったか

  • Neovimでwilliamboman/mason.nvimを使い、:MasonInstallでruffをインストールすると以下のエラーが表示され、インストールに失敗してしまう。
python3 failed with exit code 1 and signal 0. Installation failed for Package(name=ruff) error=spawn: python3 failed with exit code 1 and signal 0.

masoninstall_error

  • その他yamllint等のpython3が必要なLSPもインストール時に同じエラーが出てしまう。

事象が発生した環境

  • OS:Windows 11 Pro

    • バージョン:23H2
    • OSビルド:22631.4037
  • WSL2

    • Ubuntu 22.04.3
    • Docker 27.0.3
    • Docker Compose v2.26.1-desktop.1

解決策

以下2点を実施したら無事にインストールできた。

  • pynvimをインストールする
python3 -m pip install --user --upgrade pynvim
  • python3-venvをインストールする
sudo apt install python3-venv

after_install

原因

  • :checkhealthでPython 3の欄を確認するとPythonがloadできない旨が表示されていた。

checkhealth_before

  • 「ADVICE:」欄に記載されている通り、:help provider-pythonを実行すると、pynvimをインストールする必要がある旨が記載されていた。

help_python

  • 筆者の環境だと、pynvimをインストールしただけでは解決せず、Redditのこちらのページを参考にpython3-venvをインストールしたらLSPのインストールも成功した。

終わりに

最近neovimへの移行を進めていますが、セットアップが難しいです…

:checkhealthや各種ログを見ながら、少しずつneovimを使いこなせるようになりたいです。