事象
GitHub - vim-scripts/vim-javacomplete2: Refreshed javacomplete plugin for vim.
Refreshed javacomplete plugin for vim. Contribute to vim-scripts/vim-javacomplete2 development by creating an account on...
こちらのJavaの補完プラグインをインストールしようとしたが、以下のようなエラーが発生した。
Javacomplete needs Python3 support to run!
FileType Autocommands for "java" の処理中にエラーが検出されました:
E117: 未知の関数です: javacomplete#Start
原因を確かめるために:checkhealth
コマンドを使ったところ、以下のようにPython3が使えない状態であった。
Python 3 provider (optional)
- pyenv: Path: /usr/local/Cellar/pyenv/2.3.17/libexec/pyenv
- pyenv: $PYENV_ROOT is not set. Infer from `pyenv root`.
- pyenv: Root: /Users/username/.pyenv
- WARNING No Python executable found that can `import neovim`. Using the first available executable for diagnostics.
- WARNING Could not load Python 3:
/Users/username/.pyenv/shims/python3 does not have the "neovim" module.
/Users/username/.pyenv/shims/python3.10 does not have the "neovim" module.
/Users/username/.pyenv/shims/python3.9 does not exist: pyenv: python3.9: command not found
--
The `python3.9' command exists in these Python versions:
3.9.6
--
Note: See 'pyenv help global' for tips on allowing both
python2 and python3 to be found.
--
/Users/username/.pyenv/shims/python3.8 does not exist: pyenv: python3.8: command not found
--
The `python3.8' command exists in these Python versions:
3.8.5
--
Note: See 'pyenv help global' for tips on allowing both
python2 and python3 to be found.
--
/Users/username/.pyenv/shims/python3.7 does not have the "neovim" module.
/Users/username/.pyenv/shims/python does not have the "neovim" module.
- ADVICE:
- See :help provider-python for more information.
- You may disable this provider (and warning) by adding let g:loaded_python3_provider = 0 to your init.vim
- Executable: Not found
結論
- Python3系が利用できて、パスが通っているか確認する
python3 -m pip install --user --upgrade pynvim
を実行し、pynvimをインストールする
やったこと
①:checkhealthの結果を読む
:checkhealth
コマンドを見ると、以下のようにアドバイスされていた。
- ADVICE:
- See :help provider-python for more information.
- You may disable this provider (and warning) by adding let g:loaded_python3_provider = 0 to your init.vim
②:help provider-pythonを実行する
Provider - Neovim docs
Neovim user documentation
For Python 3 plugins:
1. Make sure Python 3.4+ is available in your $PATH.
2. Install the module (try "python" if "python3" is missing):
python3 -m pip install --user --upgrade pynvim
見たところ、どうやら「pynvim」というNeovim用のパッケージをインストールしておく必要があるらしい。
Pythonのパスが通っていることを確認し、記載されているコマンドを実行し、pynvimをインストールする。
$ python3 -m pip install --user --upgrade pynvim
③もう一度:checkhealthで確認する
もう一度Neovimの環境を確認すると、Python3の環境が出来上がっていることが確認できる。
Python 3 provider (optional)
- pyenv: Path: /usr/local/Cellar/pyenv/2.3.17/libexec/pyenv
- pyenv: $PYENV_ROOT is not set. Infer from `pyenv root`.
- pyenv: Root: /Users/username/.pyenv
- g:python3_host_prog is not set. Searching for python3 in the environment.
- Executable: /Users/username/.pyenv/versions/3.10.0/bin/python3
- Python version: 3.10.0
- pynvim version: 0.4.3
- OK Latest pynvim is installed.
④(任意)起動が早くなるための設定をする
ヘルプにも記載してあるが、こちらの設定をinit.vim
に追記すると起動が早くなるらしい。
let g:python3_host_prog = '/path/to/python3'