Comment résoudre “nécessite le support de python 2.x” dans linux vim, et python 2.6.6 dans mon système

[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 comstackd with Python 2.x support 

Je l’ai essayé dans centos 6.4 et fedora 20. C’est le même problème. Je suis nouveau codeur, je ne sais vraiment pas pourquoi cela se produit.

Dans Ubuntu / Lubuntu 16.04, j’ai réussi à installer vim-gnome-py2

 sudo apt-get install vim-gnome-py2 

Mon vim --version | grep python vim --version | grep python après l’avoir installé:

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

Vous devrez peut-être supprimer d’autres packages tels que vim-gnome , vim-gtk , vim-nox … pour éviter les conflits.

Avec Debian 8, l’installation de vim-nox m’a aidé.

 apt-get install vim-nox 

Neovim? N’importe qui?

Mise en place avec neovim et ycm

Installation

Sur l’arc, par exemple, yaourt -S python-neovim

Fondamentalement, vous avez besoin du support python.

Mise en place du 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** :) 

Utiliser vundle pour gérer YCM:

J’espère que vous êtes toujours à l’intérieur de vous ~/.config/nvim/init.vim … ajoutez ces lignes afin d’append les plug – ins Vundle et You Complete Me (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 

REMARQUE
Toutes les lignes ci-dessus sont requirejses (à l’exception du Plugin 'vundleVim/Vundle.vim' car cela indique simplement à vundle de se gérer pour les mises à jour).

Exécutez maintenant ces commandes dans nvim / vim pour (1) générer le fichier actuel et (2) installer tous les plugins avec vundle.

 :so % :PluginInstall 

Dernière étape: comstackr YCM

Nous avons besoin d’une dernière étape pour YCM. (Généralement, vous n’avez pas besoin de faire cela avec des plug-ins car ils utiliseront vimL ou quelque chose. Cependant, YCM a besoin de quelque chose de plus rapide, donc nous devons faire un petit plus.)

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

Terminé!
🙂

Mise en place dans vim à la place

meh

Si vous insistez, placez simplement toutes les choses de vundle dans ~/.vim/bundle/ puis utilisez

 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 

dans votre ~ / .vimrc. Notez la différence dans l’ set rtp+= ET l’ call vundle#begin … dans vim et nvim, ils pointent vers différents répertoires.

Il semble que vous n’ayez pas installé vim avec le support Python.

Vous pouvez le vérifier en exécutant vim --version .

Si vous voyez une chaîne -python dans la sortie, cela signifie que vous ne l’avez pas installé avec le support Python. +python signifie qu’il est installé avec le support Python.

Pour résoudre ce problème, trouvez un package dans votre gestionnaire de packages qui l’installe avec le support Python (voir les autres réponses) ou téléchargez le code source et comstackz-le avec le support Python. (Exécutez le script configure avec --enable-pythoninterp=yes . Si vous voulez que le support de Python 3 soit activé, utilisez --enable-python3interp=yes )

J’ai résolu le problème de l’installation de vim-gnome-py2 qui prend en charge l’interpréteur python2

 sudo apt-get install vim-gnome-py2 

et en faisant l’alternative par défaut en utilisant update-alternatives

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

L’installation de vim-gnome-py2 ne pourrait pas suffire

Dans Ubuntu 16.04, j’ai pris ces mesures:

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

Aucun problème depuis lors.

Ce qui se passe est expliqué dans le message: votre vim n’est pas construit avec le support de python. La solution est également assez évidente: installez vim avec le support python.

Utilisez votre gestionnaire de paquets pour installer la version la plus volumineuse disponible qui, selon moi, est “optimisée”. Espérons que votre gestionnaire de paquets traitera des dépendances.

Cela signifie que la prise en charge de python n’a pas été incluse lors de la compilation de vim.

Vérifiez si votre dissortingbution a un paquet comme vim-with-full-features (j’ai entendu dire qu’il n’y a pas de CentOS) ou construisez-le vous-même. Heureux vimming.

Je pense que c’est parce que vous devez installer python-dev. Il a résolu mon problème.

$ sudo apt-get install python-dev

Ne pas ./configurez les interpréteurs python (2) et python3:

Sur Ubuntu 16.04 lors de l’installation de vim depuis la source via:

 ./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 

Les enable-pythoninterp et enable-python3interp lorsqu’elles sont utilisées ensemble, enable-python3interp des fonctionnalités +python/dyn et +python3/dyn qui semblent poser problème. Vous verrez cela dans les “fonctionnalités incluses (+)” si vous exécutez vim --version .

Ne pas configurer les deux. Par exemple, n’utilisez qu’un seul python (ou l’autre) et les choses commenceront à fonctionner correctement.


On dirait que cela a été répondu (avec plus d’informations) ici: https://stackoverflow.com/a/23656675/1442914

Sur Ubuntu 16.04, la prise en charge de Python ne fonctionnait pas, car Python2 et Python3 étaient activés.

Je résous le problème en activant uniquement Python3. Lorsque j’active Python2 et Python3, lancez “echo has (python) || a (‘python3’)” dans vim, mais il affiche 0. Après avoir désactivé python, echo a (python3) “output 1”, echo a ( python) “sortie 0.

Les suivants ont fonctionné pour moi:
NB: je comstack vim avec Python 2; Python 3 me posait des problèmes pour des raisons étranges.

 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-luainterp \ --with-luajit \ --enable-cscope \ --enable-gui=auto \ --with-features=huge \ --with-x \ --enable-fontset \ --enable-largefile \ --disable-netbeans \ --with-comstackdby="yourname" \ --enable-fail-if-missing make && sudo make install 

“ “