← Vim研究所

Vim/NeovimでPythonの実行パスを設定・確認する方法

2019-11-17 公開 ・ 更新: 2026-08-05

Python製の補完・LSPクライアントプラグインを導入すると、たいてい「Python providerが見つかりません」といった警告に出会います。プラグインを個別に疑う前に、まずPython連携そのものが有効になっているかを確認・設定しておくと解決が早くなります。

目次(6項目)

Pythonのパスを指定する

Vim・Neovimいずれでも、設定方法は共通で次のオプションを使います。

let g:python3_host_prog = '{Python3実行ファイルのパス}'

これを設定ファイル(.vimrc / init.vim / init.lua)に記載します。

" Linux/Mac
let g:python3_host_prog = '/usr/bin/python3'

" Windows
let g:python3_host_prog = 'C:\Python312\python.exe'

Python2向けのg:python_host_progという設定も存在しますが、Python 2自体がすでにサポート終了しているため、新規に設定する意味はほぼありません。古い記事でこの設定を見かけても、今から導入する必要はありません。

設定値を確認する

:echo g:python3_host_prog

指定したパスがそのまま表示されればOKです。ただし、このコマンドはあくまで「設定した値」を表示するだけで、そのパスが実際に有効かまでは保証しません。

Pythonが有効になっているか確認する

設定したパスが実際に認識されているかは、次のいずれかの方法で確認できます。

方法実行分かること
has()関数:echo has('python3')1なら有効、0なら無効
実行して確認:py3 print('OK')エラーなくOKが出れば有効
Neovimのみ:checkhealth provider実際に使われているパスとバージョンまで明示

Neovimなら:checkhealthが最も確実

Neovimには:checkhealthコマンドがあり、Python連携の状態もここでまとめて確認できます。複数バージョンのPythonをインストールしている環境だとhas('python3')だけでは判断しづらいことがありますが、checkhealthなら実際に使われているパスとバージョンが明示されるので確実です。困ったら、まずこちらを実行するのが確実です。

要点:まずg:python3_host_progでパスを明示し、Neovimなら:checkhealth providerで最終確認するのが最も迷いにくくなります。

Python連携を無効化したい場合

そもそもPython連携するプラグインを使っておらず、checkhealthの警告が煩わしいだけという場合は、次の設定で無効化できます。

let g:loaded_python3_provider = 0

無効化しておけば、起動時のプロバイダ探索処理自体が省略されるため、わずかながら起動も速くなります。

使ってみて

仮想環境を切り替えるたびにPython連携が壊れて困っていましたが、pyenvなどでバージョンを切り替えず、専用のPython実行ファイルを1つ用意してg:python3_host_progで固定するようにしたら安定しました。仮想環境と紐付けようとすると環境を切り替えるたびに設定し直す羽目になるので、Neovim用は専用に分けておくのがおすすめです。

まとめ

Python連携で困ったら、g:python3_host_progでパスを明示し、has('python3')または:checkhealth providerで状態を確認します。この2段階を押さえておけば、大半のPython連携トラブルは切り分けられます。

← Vim研究所 トップへ戻る