[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-gnome
, vim-gtk
, vim-nox
…以避免冲突。
用Debian 8,安装vim-nox
帮了我。
apt-get install vim-nox
Neovim? 任何人?
例如,在拱门上, yaourt -S python-neovim
基本上,你需要python的支持。
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** :)
希望你还在里面~/.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的最后一步。 (通常,你不需要使用插件来做这个,因为它们会使用vimL或者其他东西,但是YCM需要更快一点,所以我们需要做更多的事情。)
cd ~/.config/nvim/bundle/YouCompleteMe/ python2 install.py
全做完了!
🙂
如果你坚持,只需把所有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中,我采取了以下步骤:
cd ~/.vim/bundle
rm -rf YouCompleteMe/
vim +PluginInstall +qall
cd ~/.vim/bundle/YouCompleteMe
./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
在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-pythoninterp
和enable-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 \
。
我希望这有帮助…
注:我尝试了这个线程迄今为止给出的解决方案,但没有成功。