Closed puresick closed 4 years ago
I'm also able to confirm that it works in tagged version 5.2. So this change:
https://github.com/Shougo/deoplete.nvim/compare/5.2...master#diff-e700726088c6524226eff1c59ca1b06b
or this change:
https://github.com/Shougo/deoplete.nvim/compare/5.2...master#diff-ef1297544d28470bc7abb3da4b2c5541
is probably the culprit. For vim-plug
users, I ran cd ~/.local/share/nvim/plugged/deoplete.nvim && git checkout 5.2
.
Same here as another vim-plug user. I've reverted to 5.2 for the time being.
Same here with neovim -- reverted to 5.2
pip installing msgpack seems to fix it (had to use pip3)
Using pip3 to install/update msgpack resolved it for me with current HEAD / latest commit. I checked the Arch Linux repository package, which is still on 0.6.2., and their Github, where the 1.0.0 tag is hidden because 0.6.2. is still marked as stable release.
Using pip3 to install/update msgpack resolved it for me with current HEAD / latest commit. I checked the Arch Linux repository package, which is still on 0.6.2., and their Github, where the 1.0.0 tag is hidden because 0.6.2. is still marked as stable release.
You are right, the pacman -Qi python-msgpack
gives 0.6.2
. But pip can find version 1.0.0
. To install 1.0.0
on Arch:
sudo pip3 install msgpack -U
If anyone happens to uninstall the msgpack first with pip uninstall msgpack
which makes pip install
doesn't work anymore:
❯ pip install msgpack
Traceback (most recent call last):
File "/usr/bin/pip", line 11, in <module>
load_entry_point('pip==19.3', 'console_scripts', 'pip')()
File "/usr/lib/python3.8/site-packages/pip/_internal/main.py", line 45, in main
command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
File "/usr/lib/python3.8/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
module = importlib.import_module(module_path)
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/usr/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 24, in <module>
from pip._internal.cli.req_command import RequirementCommand
File "/usr/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
from pip._internal.network.session import PipSession
File "/usr/lib/python3.8/site-packages/pip/_internal/network/session.py", line 18, in <module>
from pip._vendor.cachecontrol import CacheControlAdapter
ModuleNotFoundError: No module named 'pip._vendor.cachecontrol'
You can use sudo pacman -S python-msgpack
to reinstall this package, and then use pip
to install the 1.0.0
version.
Upgrading msgpack
to 1.0.0 screwed things even more for me (macOS 10.14, Deoplete failed to load completely, citing something missing... forgot to copy the :messages
output, sorry), probably because of other things I have installed that depend on old msgpack
...?
I had to go the git checkout 5.2
route and stick to msgpack==0.5.6
. YMMV.
I have improved msgpack version check when initialize.
@dkvasnicka I don't know, but other library may be needed old msgpack. It is not deoplete problem.
Why I need to update for latest msgpack. https://github.com/Shougo/deoplete.nvim/issues/1071
For the record: I had the same problem and while deoplete told me I needed to install msgpack, it didn't tell me that I needed to install pynvim.
Please fix the error message so that it detects both missing dependencies.
Note: Here's the relevant pip command for others having the same issue.
pip3 install --user pynvim
@Cypher1 Sorry, it is already documented and deoplete checks Python3 support (and nvim-yarp in Vim8).
They requires pynvim
package. So I don't add the check.
Why don't you read the documentation???
@Shougo I have a bunch of plugins that all upgraded at the same time. Googling the message got me here (not to the documentation). I installed the package that you explained was needed and it wasn't enough (hence my comment asking for the error message to check that pynvim is installed, not just python3 or msgpack).
It's not because I can't read the documentation, it's because I don't want configuring vim/nvim to waste people's time.
It's not because I can't read the documentation, it's because I don't want configuring vim/nvim to waste people time.
Wow.
It is OK to add the message if other people complain it.
@Shougo Would it be possible to use a separate Python virtualenv just for this plugin (as opposed to Nvim as a whole) and how? That would fix the problem with other plugins depending on older version of msgpack, right?
For neovim, g:python3_host_prog variable.
Problems summary
After updating deoplete to the latest version, I receive following error when changing into insert mode after restarting neovim:
Expected
No error message and deoplete running like before the update.
Environment Information
deoplete version (SHA1): b49d2a477e37b3dd8f59b59669b1ba33c1082f93 deoplete.vim
OS: Arch Linux
neovim/Vim
:version
output:Features: +acl +iconv +tui See ":help feature-compile"
system vimrc file: "$VIM/sysinit.vim" fall-back for $VIM: "/usr/share/nvim"
health#deoplete#check
deoplete.nvim
health#nvim#check
Configuration
Performance
Remote Plugins
:UpdateRemotePlugins
terminal
health#provider#check
Clipboard (optional)
Python 2 provider (optional)
import neovim
. Using the first available executable for diagnostics.Python 3 provider (optional)
g:python3_host_prog
is not set. Searching for python3 in the environment.Ruby provider (optional)
neovim-ruby-host
not found.gem install neovim
to ensure the neovim RubyGem is installed.gem environment
to ensure the gem bin directory is in $PATH.Node.js provider (optional)
How to reproduce the problem from neovim/Vim startup (Required!)
:call dein:update()