19

我正在尝试将 neovim 与deopleteUtilSnips一起使用。两者都需要 nvim 的 Python 支持。

我按照中的说明:help nvim_python设置支持,但:echo has('python')or :echo has('python3')are both的输出0

在 nvim-startup 我收到消息UltiSnips requires py >= 2.7 or py3和 deoplete It requires Neovim with Python 3 support ("+python3")

我的python(2.7.10) 和python3(3.4.3) 都安装了自制软件。neovim 模块已安装,pip但nvim 找不到它,即使我在 nvimrc 中设置了路径。pip3install neovimlet g:python_host_prog

我不知道我能做什么了,有人知道它有什么问题吗?

4

7 回答 7

15

请按照https://neovim.io/doc/user/provider.html#provider-python上的说明为 neovim 设置 python 解释器。

首先,安装pynvim(以前叫neovim,现在改了)插件

pip3 install pynvim

打印 g:loaded_python3_provider

echo g:loaded_python3_provider
" for python 2.x use the following
" echo g:loaded_python_provider

如果它返回1,则没有为 neovim 设置 python。在您的~/.config/nvim/init.vim文件中,设置 python 解释器

let g:python3_host_prog='/path/to/python3'
" for python2, use the following instead
"let g:python_host_prog = '/path/to/python2.7'
于 2015-11-22T19:07:03.057 回答
7

我最近遇到了同样的问题。以下是根据@VforVitamin 的回答改编的步骤,我使它工作。

假设安装了 python2 和 python3。

  1. 安装 neovim 插件pip3 install neovim
  2. 打开新维姆。
  3. 执行命令:UpdateRemotePlugins
  4. 重启neovim。
于 2017-01-21T14:46:14.807 回答
1

我敢打赌,您的 init 文件中有一行以“set runtimepath=”开头。将其更改为“设置运行时路径+=”

于 2016-02-29T22:48:54.053 回答
0

我遇到了同样的问题,解决方案实际上来自这个问题。

我所做的是:

pip install --upgrade pip
pip3 install --upgrade pip

sudo pip install setuptools
sudo pip3 install setuptools

sudo pip install neovim
sudo pip3 install neovim

之后,输入 neovim 和:UpdateRemotePlugins. 关闭它并再次打开。

在这些步骤之后,我让 neovim 正常工作。

编辑:

对于那些使用Arch Linux的人来说,我们对 Python 有一个特殊的认识。步骤是:

  1. 安装 pip (python3) 和 pip2 (python2):pacman -S python-pip python2-pip
  2. 而不是pip3,您应该使用pip2

除了这个微小的差异之外,其余命令的工作方式几乎相同。

于 2017-09-08T07:19:16.773 回答
0

我自己也有这个问题,因为我在 virtualenv 中使用了 neovim。如果是这样,请确保pip install neovim在您的 virtualenv 中,并确保它import neovim在 python 解释器中工作。

如果这没有帮助,您可以尝试使用调试消息(neovim -V3或任何其他日志记录级别)运行 neovim,看看您可以从中选择什么。

于 2015-09-15T03:53:31.750 回答
0

正如@fwalch 所指出的,文档已更改为https://neovim.io/doc/user/provider.html#provider-python

Neovim 附带启用了 Python3,但您需要安装pynvim模块才能使用 Neovim Python3 插件:

python3 -m pip install --user --upgrade pynvim
于 2020-12-01T18:36:46.623 回答
0

如果当你尝试 let [interp, errors] = provider#pythonx#Detect(2)

来自https://github.com/neovim/neovim/wiki/Troubleshooting#python-support-isnt-working上的文档

您收到错误,可能是您的 VIM 环境变量指向了错误的(可能是 vim74)运行时目录。

Neovim 需要来自 runtime/autoload/providers/ 文件夹中的 pythonx.vim 来加载 python interp。Vim74 不提供这个文件。

如果你有一个环境。VIM 的变量(带有路径),它将使用它作为运行时文件的位置 - 我将我的设置为 /usr/share/vim/vim74,将其更改为 neovim 工作的位置。我想也有一个编译时选项可以指向正确的位置。

于 2015-12-30T02:49:29.200 回答