如何解决“需要python 2.x支持”在Linux VIM,它有我的系统中的Python 2.6.6

[root@localhost bin]# python -V Python 2.6.6 [root@localhost bin]# ./vim UltiSnips requires py >= 2.6 or any py3 YouCompleteMe unavailable: requires Vim compiled with Python 2.x support 

我已经尝试在centos 6.4和fedora 20.这是同样的问题。 我是新的编码器,我真的不知道为什么会发生。

在Ubuntu / Lubuntu 16.04中,我成功安装了vim-gnome-py2

 sudo apt-get install vim-gnome-py2 

我的vim --version | grep python 安装后的vim --version | grep python

 $ vim --version | grep python +cryptv +linebreak +python +vreplace +cscope +lispindent -python3 +wildignore 

您可能需要删除其他软件包,如vim-gnomevim-gtkvim-nox …以避免冲突。

用Debian 8,安装vim-nox帮了我。

 apt-get install vim-nox 

Neovim? 任何人?

使用neovim和ycm进行设置

安装

例如,在拱门上, yaourt -S python-neovim

基本上,你需要python的支持。

设置neovim

 mkdir -p ~/.config/nvim/bundle/Vundle.vim/ cp ~/.vimrc ./init.vim git clone https://github.com/VundleVim/Vundle.vim.git git clone nvim ~/.config/nvim/init.vim # edit nvim init file (using nvim, **of course** :) 

使用vundle管理YCM:

希望你还在里面~/.config/nvim/init.vim …添加这些行以添加Vundle和你完成我(YCM)插件:

 set nocompatible filetype off set rtp+=~/.config/nvim/bundle/Vundle.vim call vundle#begin('~/.config/nvim/bundle') Plugin 'VundleVim/Vundle.vim' Plugin 'Valloric/YouCompleteMe' call vundle#end() filetype plugin indent on 

注意
所有上面的行都是必需的 (除了Plugin 'vundleVim/Vundle.vim'因为这只是告诉vundle管理自己的更新)。

现在在nvim / vim里面运行这些命令来(1)获取当前文件,(2)用vundle安装所有的插件。

 :so % :PluginInstall 

最后一步:编译YCM

我们需要YCM的最后一步。 (通常,你不需要使用插件来做这个,因为它们会使用vimL或者其他东西,但是YCM需要更快一点,所以我们需要做更多的事情。)

 cd ~/.config/nvim/bundle/YouCompleteMe/ python2 install.py 

全做完了!
🙂

改为在vim中设置

MEH

如果你坚持,只需把所有vundle的东西放在~/.vim/bundle/里面然后使用

 set nocompatible filetype off set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin('~/.vim/bundle') Plugin 'VundleVim/Vundle.vim' Plugin 'Valloric/YouCompleteMe' " if on arch, I recommend installing vim-youcompleteme-git call vundle#end() filetype plugin indent on 

在〜/ .vimrc里面 注意 ,在vim和nvim中set rtp+= AND call vundle#begin …的区别,它们指向不同的目录。

看起来你没有安装Python支持的vim。

你可以通过运行vim --version来检查。

如果在输出中看到一个-python字符串,这意味着你没有安装Python支持。 +python意味着它已经安装了Python支持。

要解决这个问题,可以在你的包管理器中找到一个包,并用Python支持来安装它(请参阅其他答案),或者下载源代码并使用Python支持进行编译。 (用--enable-pythoninterp=yes运行configure脚本,如果你想启用Python 3支持,使用--enable-python3interp=yes

我解决了安装具有python2解释器支持的vim-gnome-py2的问题

 sudo apt-get install vim-gnome-py2 

并使之成为使用update-alternatives的默认选择

 sudo update-alternatives --set vim /usr/bin/vim.gnome-py2 

安装vim-gnome-py2是不够的

在Ubuntu 16.04中,我采取了以下步骤:

  1. cd ~/.vim/bundle
  2. rm -rf YouCompleteMe/
  3. vim +PluginInstall +qall
  4. cd ~/.vim/bundle/YouCompleteMe
  5. ./install.sh --clang-completer

从那以后没有问题。

发生什么事情在消息中解释:你的vim不是用python支持构建的。 该解决方案也相当明显:使用python支持安装vim。

使用你的软件包管理器来安装我认为是“vim-enhanced”的最大版本。 希望你的包管理器能处理依赖关系。

这意味着编译vim时不包括python支持。

检查你的发行版是否有像vim-with-full-features这样的软件包(我听说CentOS中没有这个vim-with-full-features ),或者自己构建它。 快乐的vimming。

我想这是因为你需要安装python-dev。 他解决了我的问题。

$ sudo apt-get install python-dev

不要./configure python(2)和python3解释器:

在Ubuntu 16.04上通过以下途径安装vim:

 ./configure --with-features=huge \ --enable-multibyte \ --enable-rubyinterp=yes \ --enable-pythoninterp=yes \ --with-python-config-dir=/usr/lib/python2.7/config \ --enable-python3interp=yes \ --with-python3-config-dir=/usr/lib/python3.5/config \ --enable-perlinterp=yes \ --enable-luainterp=yes \ --enable-gui=gtk2 --enable-cscope --prefix=/usr 

enable-pythoninterpenable-python3interp一起使用会导致+python/dyn+python3/dyn作为看起来会引起麻烦的功能。 如果你运行vim --version你会在“包含功能(+)”中看到这个。

不要配置两者。 即只使用一个Python(或其他),事情将开始正常工作。


看起来这是回答(有更多的信息)在这里: https : //stackoverflow.com/a/23656675/1442914

在Ubuntu 16.04上,由于启用了Python2和Python3,Python支持不起作用。

我只通过启用Python3来解决这个问题。 当我启用Python2和Python3,在vim中运行“echo has(python)|| has('python3')”,但是它输出0.在未使用python后,“echo has(python3)”output 1,“echo has python)“输出0。

我有同样的问题,但最终做了以下(艰苦尝试​​做了很多事情后):

 sudo apt-get remove --purge vim vim-runtime vim-gnome vim-tiny vim-gui-common sudo apt-get install liblua5.1-dev luajit libluajit-5.1 python-dev ruby-dev libperl-dev libncurses5-dev libatk1.0-dev libx11-dev libxpm-dev libxt-dev " Optional: so vim can be uninstalled again via dpkg -r vim sudo apt-get install checkinstall sudo rm -rf /usr/local/share/vim /usr/bin/vim cd ~ git clone https://github.com/vim/vim cd vim git pull && git fetch " In case Vim was already installed cd src make distclean cd .. ./configure \ --enable-multibyte \ --enable-perlinterp=dynamic \ --enable-rubyinterp=dynamic \ --with-ruby-command=/usr/local/bin/ruby \ --enable-pythoninterp=dynamic \ --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu \ --enable-python3interp \ --with-python3-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu \ --enable-luainterp \ --with-luajit \ --enable-cscope \ --enable-gui=auto \ --with-features=huge \ --with-x \ --enable-fontset \ --enable-largefile \ --disable-netbeans \ --with-compiledby="yourname" \ --enable-fail-if-missing make && sudo make install 

如果您遇到任何ruby问题,请使用--with-ruby-command=/usr/local/bin/ruby \替换--with-ruby-command=/usr/local/bin/ruby \

我希望这有帮助…
注:我尝试了这个线程迄今为止给出的解决方案,但没有成功。