neovimでPython環境を構築する(Windows簡易版)

vimPython環境の構築〇〇年版という記事をよく見かけるけど、やろうとする度に挫折してる。
そもそもPythonを学ぼうとする初学者に仮想環境は必要だろうか?
バージョンを切り替えてプログラムを書くことなんてあるか?

という訳で、自分用にPythonを使える簡単なNeovim環境の構築方法を記載しておく。

1.Pythonのインストール

一番簡単なのはMicrosoftStoreからのインストール

MicrostoreでPythonを検索
どれ?

(Beta)の文字が入ってないので、番号が一番大きいのをインストールしておけばいい

コマンドだけでいくぞって人はWinget

いきなりinstallは使わずにsearchする

wingetでPython3を検索

どれ?

探し方はStoreのときと同じ
インストールは

winget install Python.Python.3.12  

IDに記載されている通りに入力しておけばOK

2.Neovimでの確認

インストールしたら、Neovimから使えるか確認
:checkhealth

Python3が見つからなくてエラー

Python側での作業

NeovimでPythonを使うにはPython側にモジュールをインストールしないといけない
ターミナルで

pip install neovim  

を実行

pip install neovimの実行
これでneovim以外に必要なモジュールも一緒にインストールされる
再度checkhealthを実行すると
checkhealthでPython認識した場合

蛇足

より確実に行うために、Pythonの場所を指定してあげたほうがいい

vim.g.python3_host_prog = "C:\\Users\\homaj\\AppData\\Local\\Programs\\Python\\python312\\python.exe"

wingetでインストールした場合、ユーザーフォルダのAppDataの中に実行ファイルがあるので、探しにくい。
ファイルパスは\と2個つないで書くこと
うまくいったら赤線のようになる

python3_host_progの設定がきちんとなった場合

3.Pythonの勉強用に必要なプラグインのインストール

LSPではないです。quickrun.vimがベスト。
でもNeoVimでLuaで作っているのでjaq-nvimを使います。
これは「Just Another Quickrun plugin for Neovim」でQuickrunをneovimで実行できるようにするもの  

github.com

ユーザーフォルダの
.config/nvim/lua/pluginsにjaq.luaを作成

return{
    "is0n/jaq-nvim",
    config = function()
        require("jaq-nvim").setup({
            cmds = {
                internal = {
                    lua = "luafile %",
                    vim = "source %",
                },
                external = {
                    python = "python %",
                }
            },
        })
    end,
}

これで環境ができあがり

Pythonで書いたファイルで :Jaq
と実行するだけで、実行結果がわかる。 20240704232149

実行した際の注意事項

  • 何も設定しなかったら、真ん中にフローティングウィンドウで表示
  • 実行結果が表示された後に[Process exited 0]と表示されたらOK
  • 画面を閉じるのは「:q」で

最初、Pythonを認識してない場合には9009のエラーが表示されてた