如何在VIM中指定Python解释器版本?

为了在Vim中使用插件编写C,Clang_complete.

安装后,会发生此错误:

Error detected while processing function <SNR>14_ClangCompleteInit..<SNR>14_initClangCompletePython:
clang_complete: No python support available.
Cannot use clang library
Compile vim with python support to use libclang

但我的vim支持python和python3. python / dyn python3 / dyn
然后我检查我的python解释器:

:echo has('python')      # output is 0
:echo has('python3')     # output is 1

所以,我认为原因是我的vim动态加载python3解释器默认情况下.
我可以更改python解释器吗?或者设置python的默认动态加载版本?

最佳答案 你可能不希望(或者至少不应该)将python3设置为vim的默认python解释器,因为你的一些(大部分)插件将变得不兼容,例如YouCompleteMe和clang_complete本身,因为它们没有python3支持.通常,支持python3的插件可以通过添加到.vimrc来决定是否要使用它

let g:syntastic_python_python_exec = 'python3' 

解决方案::echo has(‘python’)显示0实际上告诉你vim可能没有用python2编译.因此,首先检查vim –version的输出,您应该能够看到编译器已构建vim的共享库列表.你看到以下了吗? (例如对于python 2.7):

-L/usr/lib/python2.7/config-x86_64-linux-gnu -lpython2.7

如果没有(或者如果你看到-lpython2.x和-lpython3.x我建议你从源代码编译vim,将它专门链接到-lpython2.x.从源代码构建vim并不困难.首先确保删除所有当前的vim安装,例如使用aptitude你做的:

sudo apt-get remove --purge vim vim-runtime vim-gnome vim-tiny vim-common vim-gui-common

克隆vim mercurial

hg clone https://code.google.com/p/vim/
cd vim

然后使用以下标志运行./configure:

 ./configure --with-features=huge \
        --enable-cscope \
        --enable-pythoninterp \
        --enable-largefile \
        --with-python-config-dir=/usr/lib/python2.7/config 

你可能还想根据需要链接ruby和lua,然后最终运行

make build
make install

Here是shell脚本,可以为您自动完成整个过程.这可能有点过分,但我认为这是你应该如何处理这个问题,以免与未来的软件包兼容性问题.

点赞