由于virtualenv或conda,neovim无法正确找到python?

问题描述 投票:3回答:2

我在我的YouCompleteMe安装了UltiSnipsneovim插件。通常,一切都很好。

但我在我的python开发中使用MiniCondaMiniConda就像virtualenv,我有一个名为parser的虚拟python env,当我用source activate parser激活这个virtualenv时,出了点问题:

YouCompleteMe unavailable: requires Vim compiled with Python 2.x support
UltiSnips requires py >= 2.7 or py3
Press ENTER or type command to continue

所以问题是neovim无法正常找到python,我很困惑为什么virtualenv影响neovim

python vim virtualenv conda neovim
2个回答
1
投票

正如@Alex在评论中提到的那样,pip install neovim解决了这个问题。


0
投票

如果Neovim在你的$PATH上发现python,它会假设这是Python 2(同样对于python3被视为Python 3)。如果你从一个使用Python 3的激活的Conda env的shell启动Neovim,你会遇到问题,因为conda env暴露了一个名为python的二进制文件,但它实际上是3而不是2.因此,你将拥有使用设置g:python_host_prog的Neovim选项指向有效的Python 2,你必须在其中安装pip所需的neovim客户端。

可能的解决方案(我使用anaconda测试了自己):

# neovim init.vim file cmd
# runs python3 for neovim from a specific env
# should resolve the need for neovim in each new python env when using nvim
# add the following to your init.vim file
let g:python3_host_prog = '/path/to/anaconda3/bin/python'

将其添加到.vimrcginit.vim(neovim GUI配置文件)中。

© www.soinside.com 2019 - 2024. All rights reserved.