Neovim中Python3支持问题求助:已装pynvim但:echo has('python3')返回0
解决Neovim中
has('python3')返回0的问题 核心排查与修复步骤
先确认Neovim关联的Python环境状态
执行:checkhealth provider,查看Python 3 provider板块的输出,重点关注:Python 3 provider (optional)
- INFO: Python version: 3.x.x
- INFO: Path: /xxx/python3
- WARNING: No neovim module found in this Python.
这里会明确显示Neovim当前调用的Python解释器路径,如果该路径下未安装pynvim,就会触发问题。
给Neovim关联的Python环境安装pynvim
直接用:checkhealth显示的Python路径执行安装命令:/path/to/neovim/python3 -m pip install pynvim --upgrade例:若路径是
~/.pyenv/shims/python3,则执行~/.pyenv/shims/python3 -m pip install pynvim手动指定Neovim的Python3路径(可选)
如果自动检测失效,在配置文件中明确指定已安装pynvim的Python解释器路径:-- init.lua vim.g.python3_host_prog = '/path/to/your/python3'或Vimscript格式:
" init.vim let g:python3_host_prog = '/path/to/your/python3'重启验证
重新打开Neovim后,执行:echo has('python3')应返回1,再用:checkhealth provider确认Python 3 provider状态正常。
额外注意事项
- 确保安装pynvim的Python环境和Neovim调用的是同一个,避免全局环境与虚拟环境、pyenv/conda环境混用
- 若使用conda环境,需先激活目标环境,执行
python -m pip install pynvim,再将conda环境的Python路径设为g:python3_host_prog
内容的提问来源于stack exchange,提问作者Nathan Vidal
相关产品推荐
相关产品推荐

