Vim / neovim で pythonのパスを指定する方法

Vim / neovim で pythonのパスを指定する方法

近年の Vim や neovim では、多くは python がインストールされていることを前提とした仕組みになっています。

特に、neovim の :checkhealth をすべて通過するには必要不可欠です。

この記事では、Vim / neovim でプラグインを使わずに「Vim / neovim で pythonのパスを指定する」ための設定方法について、ご紹介します。

Vim / neovim で pythonのパスを指定するオプション

ここで紹介する方法は、Vim / neovim のいずれでも設定方法は同じです。

オプション

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

こちらをコマンドとして実行する、あるいは設定ファイル(.vimrc / init.nvim など)に記載します。

Linux / Mac 設定例

let g:python3_host_prog = '/usr/bin/python3'
let g:python_host_prog = '/usr/bin/python' 

Windows 設定例

let g:python3_host_prog = 'C:\Program Files\Python37\python.exe'
let g:python_host_prog = 'C:\Program Files\Python27\python.exe' 

設定の確認方法

下記のコマンドを実行してみましょう。

設定値の確認

:echo g:python3_host_prog  → Python3の実行ファイルのパスが表示されればOK
:echo g:python_host_prog  → Python2の実行ファイルのパスが表示されればOK

次の方法でも確認はできますが、設定したパスが有効かは正確にはわかりません。

:echo has('python3')  → 1:OK, 0:NG
:echo has('python')  → 1:OK, 0:NG

複数のパスに異なるマイナーバージョンをインストールしてしまっている場合は注意が必要です。

実行確認

実際に、Pythonのコードを実行できれば良いわけです。例えば、次のようなコマンドになります。

:py print('OK')   → 1:OK, エラー出力:NG
:py3 print('OK')  → 1:OK, エラー出力:NG

この確認方法についても、複数のパスに異なるマイナーバージョンをインストールしてしまっている場合は注意が必要です。

checkhealth

neovim だけは設定状態を確認するコマンドがあります。次のコマンドを実行してみましょう。

:checkhealth

実行結果は次のようになります。

:checkhealth実行結果(Python部分)
:checkhealth実行結果(Python部分)

neovim 特有ですが、こちらは複数マイナーバージョンをインストールしてしまったとしてもハッキリ良し悪しが分かるので安心ですね。

目次

補足:Python有効状態

1. Pythonサポートの有効/無効

次のオプションを設定することで、Pythonサポートの有効/無効を設定できます。

let g:loaded_python3_provider = 1  → Python3を無効化
let g:loaded_python_provider = 1   → Pythonを無効化

2. コンパイル時点の Python 有効化

そもそもコンパイル時点で Python が有効化されていなければ、Vimでは利用できません。次のコマンドで確認しましょう。

:version
Vim Verisoコマンド結果:Python3は有効、Python2は無効の状態
Python3は有効、Python2は無効の状態

こちらは Vim だけでの確認方法となります。neovim で同じコマンドを実行しても確認できませんので、checkhealthコマンドで確認しましょう。

このVimコマンドの補足情報

  • 利用頻度[star rate=1]
  • 便利さ[star rate=2]
  • 覚え易さ[star rate=2]

関連するVimヘルプ

Vimからは、下記のコマンドでヘルプを確認できます。

:help g:python3_host_prog
:help g:python_host_prog

ヘルプで検索するときは、通常は大文字小文字は識別されませんので、どちらでも構いません。

参考書籍

こちらの書籍が参考になります。

[temp id=3]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Vim力アップして、そろそろ上級 Vimmer の仲間入りしたいIT系エンジニアの端くれです。読んでくる訪問者の皆様と一緒に、Vim力を上げていくことができる記事が書ければと考えています。

目次