我正在尝试在 Windows 上安装 neovim 并导入我以前的 init.vim 文件。我之前已经在 ultisnips 中定义了我的片段。我正在使用 Windows,并且已经在另一个版本的 Windows 中对此进行了测试,并且它可以工作,但是,当我运行时
:checkhealth
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
## Python 3 provider (optional)
30 - WARNING: No Python executable found that can `import neovim`. Using the first available executable for diagnostics.
31 - ERROR: Python provider error:
32 - ADVICE:
33 - provider/pythonx: Could not load Python 3:
34 python3 not found in search path or not executable.
35 python3.7 not found in search path or not executable.
36 python3.6 not found in search path or not executable.
37 python3.5 not found in search path or not executable.
38 python3.4 not found in search path or not executable.
39 python3.3 not found in search path or not executable.
40 python not found in search path or not executable.
41 - INFO: Executable: Not found
Run Code Online (Sandbox Code Playgroud)
但我确实安装了 python 3.7。我可以在 cmd / powershell 中运行 python,并且可以毫无问题地导入 neovim python 模块。有人知道如何让 neovim 学会 python 吗?
小智 11
确保你安装了Python3,以下答案也适用于Python2。
检查帮助:
:help provider-python
Run Code Online (Sandbox Code Playgroud)
转到,PYTHON QUICKSTART您将看到以下两个选项之一:
因为你的问题是 python 3 请按照中提到的步骤操作 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
Run Code Online (Sandbox Code Playgroud)
这应该可以解决问题,如果问题仍然存在,请确保使用正确的路径,转到~/.vimrc并添加以下内容:
对于Python3:
let g:python3_host_prog = '/path/to/python3'
Run Code Online (Sandbox Code Playgroud)
对于Python2:
let g:python_host_prog = '/path/to/python'
Run Code Online (Sandbox Code Playgroud)
注意:我在中找到了这一点,PYTHON QUICKSTART如果您继续阅读,您会发现它。
:help provider-python
Run Code Online (Sandbox Code Playgroud)
再次使用:checkhealth,应该输出以下内容:
## Python 3 provider (optional)
- INFO: Using: g:python3_host_prog = "/usr/local/bin/python3"
- INFO: Executable: /usr/local/bin/python3
- INFO: Python version: 3.9.1
- INFO: pynvim version: 0.4.2
- OK: Latest pynvim is installed.
Run Code Online (Sandbox Code Playgroud)
小智 0
看起来,neovim 以某种方式混淆了 python 2 和 python 3。对我来说,它只是在 python 2 的 PATH 中重命名 python 可执行文件,即 python.exe -> python2.exe,现在它似乎工作正常。然而,这可能不是完美的解决方案。