Deoplete should function with pynvim installed. Either add documentation specifying the requirement or revert to Deoplete 5.1.
Please press SPC h I, debug info will be put into clipboard, then paste all content below.
If you have any screenshots for this issue, please upload here. BTW you can use https://asciinema.org/ for recording video in terminal.
@hermitmaster This should be list in :h deoplete, I do not check the latest version of deoplete.
It is already documented in deoplete documentation.
Thanks, @Shougo , so this issue should be closed.
pip uninstall msgpack-python;
pip3 uninstall msgpack-python;
pip3 install -U msgpack
Fixed it
I had to do this
pip uninstall msgpack-python;
pip3 uninstall msgpack-python;
pip3 install -U msgpack
I'm pretty confused, when I run pip uninstall msgpack-python; I get WARNING: Skipping msgpack-python as it is not installed..
Then when I run pip3 uninstall msgpack-python; I get WARNING: Skipping msgpack-python as it is not installed..
Then when I run pip3 install -U msgpack I get Requirement already up-to-date: msgpack in /Users/cohenkarnell/.virtualenvs/ts38/lib/python3.8/site-packages (1.0.0).
I think I'm using the same python because when I open vim and run !which python it shows the same path as which python in my terminal, and I also tried running the commands in vim by pre-pending ! to them in command mode, and got the same output.
What am I doing wrong here?
Okay, I seem to have gotten past _this_ issue by changing autoload/deoplete/init.vim in the following way, starting at line 282:
function! deoplete#init#_msgpack_version_check() abort
python3 << EOF
# #####
# START MONKEYPATCH
import pip
pip.main(['uninstall', 'msgpack-python'])
pip.main(['install', '-U', 'msgpack'])
# END MONKEYPATCH
# ####
import vim
import msgpack
vim.vars['deoplete#_msgpack_version'] = msgpack.version
vim.vars['deoplete#_msgpack_version_check'] = msgpack.version < (1, 0, 0)
EOF
return get(g:, 'deoplete#_msgpack_version_check', 0)
endfunction
I don't know. This is not deoplete problem.
It seems msgpack's renaming problem.
This definitely looks like a deoplete issue to me; running python -c 'import msgpack; print(msgpack.version) shows that msgpack is 1.0.0, but deoplete's health check still fails on this.
@TamaMcGlinn You need to check msgpack in your Vim's Python.
:python3 import msgpack
:python3 print(msgpack.version) prints real version for you.
I think your python from command line not equal to Vim's python.
Thank you @Shougo ! I found the solution. Although vim's python is the same as in my commandline, vim was using a 'python3' which I don't know where it got it from. I saw in init.vim that specifically python3 was referenced, but I didn't actually have a python3 link accessible from the commandline. So I did:
ln -s "`which python`" "`which python`3"
to create a link to python called python3 in the same directory. Then I restarted vim and the healthcheck succeeds now.
OK.
Most helpful comment
pip uninstall msgpack-python;
pip3 uninstall msgpack-python;
pip3 install -U msgpack
Fixed it