it-swarm.com.de

Wie "erfordert Python 2.x-Unterstützung" in Linux Vim, und es hat Python 2.6.6 in meinem System

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

ich habe es in Centos 6.4 und Fedora 20 versucht. Es ist das gleiche Problem. Ich bin ein neuer Programmierer, ich weiß wirklich nicht, warum es passiert.

9
Firemky

Mit Debian 8 hat mir die Installation von vim-nox geholfen.

apt-get install vim-nox
17
Sergey Khaylov

In Ubuntu/Lubuntu 16.04 habe ich Erfolg mit der Installation von vim-gnome-py2

Sudo apt-get install vim-gnome-py2

Mein vim --version | grep python nach der Installation:

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

Möglicherweise müssen Sie andere Pakete wie vim-gnome, vim-gtk, vim-nox ... entfernen, um Konflikte zu vermeiden.

17
Hieu

Neovim? Jemand?

Erste Schritte mit neovim und ycm

Installation

On Arch, zum Beispiel, yaourt -S python-neovim

Grundsätzlich benötigen Sie Python-Unterstützung.

Neovim einrichten

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** :)

Verwenden von vundle zum Verwalten von YCM:

Hoffentlich bist du immer noch in dir ~/.config/nvim/init.vim ... füge diese Zeilen hinzu, um Vundle und You Complete Me (YCM) Plugins hinzuzufügen:

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

NOTE
Alle oben genannten Zeilen sind erforderlich (mit Ausnahme von Plugin 'vundleVim/Vundle.vim', da dies vundle nur anweist, sich selbst für Updates zu verwalten).

Führen Sie nun die folgenden Befehle in nvim/vim aus, um (1) die aktuelle Datei als Quelle zu verwenden und (2) alle Plugins mit vundle zu installieren.

:so %
:PluginInstall

Letzter Schritt: Kompilieren von YCM

Wir brauchen einen letzten Schritt für YCM. (Normalerweise müssen Sie dies nicht mit Plugins tun, da diese vimL oder etwas anderes verwenden. YCM benötigt jedoch etwas schnelleres, sodass wir etwas mehr tun müssen.)

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

Alles erledigt!
:)

Richten Sie sich stattdessen in vim ein

meh

Wenn Sie darauf bestehen, stecken Sie einfach alle Dinge von vundle in ~/.vim/bundle/ und verwenden Sie dann

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

in deinem ~/.vimrc. Hinweis der Unterschied zwischen set rtp+= UND call vundle#begin ... in vim und nvim verweisen sie auf verschiedene Verzeichnisse.

11
dylnmc

Anscheinend haben Sie vim nicht mit Python-Unterstützung installiert.

Sie können dies überprüfen, indem Sie vim --version ausführen.

Wenn in der Ausgabe eine -python-Zeichenfolge angezeigt wird, bedeutet dies, dass Sie sie nicht mit Python-Unterstützung installiert haben. +python bedeutet, dass es mit Python-Unterstützung installiert wird.

Um dies zu beheben, suchen Sie entweder in Ihrem Paketmanager ein Paket, das es mit Python-Unterstützung installiert (siehe andere Antworten), oder laden Sie den Quellcode herunter und kompilieren Sie es mit Python-Unterstützung. (Führen Sie das configure-Skript mit --enable-pythoninterp=yes aus. Wenn die Python 3-Unterstützung aktiviert werden soll, verwenden Sie --enable-python3interp=yes.)

8
jazzpi

Ich habe das Problem mit der Installation von vim-gnome-py2 behoben, das Python2-Interpreter unterstützt

Sudo apt-get install vim-gnome-py2

und mit update-alternatives zur Standardalternative machen

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

Installation von vim-gnome-py2 könnte nicht genug sein

5
neoben

In Ubuntu 16.04 habe ich folgende Schritte ausgeführt:

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

Keine Probleme seitdem.

3
MIkee

Was passiert, wird in der Nachricht erklärt: Ihr Vim ist nicht mit Python-Unterstützung erstellt. Die Lösung liegt ebenfalls auf der Hand: Installieren Sie vim mit Python-Unterstützung.

Verwenden Sie Ihren Paketmanager, um den größten verfügbaren Build zu installieren, der meiner Meinung nach "vim-enhanced" ist. Hoffentlich kümmert sich Ihr Paketmanager um Abhängigkeiten.

1
romainl

Konfigurieren Sie nicht sowohl Python (2) als auch Python3-Interpreter:

Unter Ubuntu 16.04 bei der Installation von vim von der Quelle über:

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

Wenn enable-pythoninterp und enable-python3interp zusammen verwendet werden, ergeben sich +python/dyn und +python3/dyn als Funktionen, die Probleme verursachen. Wenn Sie vim --version ausführen, wird dies in den "enthaltenen Funktionen (+)" angezeigt.

Konfiguriere nicht beide. d. Verwenden Sie nur eine Python (oder die andere) und die Dinge werden richtig funktionieren.


Wie es aussieht, wurde dies (mit weiteren Informationen) hier beantwortet: https://stackoverflow.com/a/23656675/1442914

0
Matt Self

Folgendes hat für mich funktioniert:
NB: Ich kompiliere vim mit Python 2; Python 3 gab mir einige Probleme aus irgendeinem seltsamen Grund.

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-compiledby="yourname" \  
--enable-fail-if-missing  

make && Sudo make install  

`` ``

0
charlchad

Ich denke, das liegt daran, dass Sie python-dev installieren müssen. Er hat mein Problem gelöst.

$ Sudo apt-get install python-dev

0
Bay Dam

Unter Ubuntu 16.04 funktionierte die Python-Unterstützung nicht, da sowohl Python2 als auch Python3 aktiviert waren.

Ich löse das Problem, indem ich nur Python3 aktiviere. Wenn ich sowohl Python2 als auch Python3 aktiviere, starte "echo has (python) || has ('python3')" in vim, aber es gibt 0 aus. python) "0 ausgeben.

0
oscarwin

Dies bedeutet, dass die Python-Unterstützung beim Kompilieren von vim nicht berücksichtigt wurde.

Überprüfen Sie, ob Ihre Distribution ein Paket wie vim-with-full-features enthält (ich habe gehört, dass es kein in CentOS gibt), oder erstellen Sie es selbst. Viel Spaß beim Anschauen.

0
Jokester