Qual é a maneira mais fácil de obter o Vim com suporte ao Python 3?


19

Eu tenho o Ubuntu 14.04 instalado e o Vim em seus repositórios é compilado sem o suporte ao Python 3. Por isso, o plugin do modo python não pode funcionar com o código Python 3. Qual é a maneira mais fácil de obter o Vim com suporte ao Python 3?

Respostas:


16

Parece que em sistemas baseados no Debian (pelo menos) você não pode comer seu bolo e comê-lo também. É Python 2 ou Python 3. Devido à forma como as bibliotecas Python são construídas , você pode usar apenas uma variante dentro de uma sessão do Vim. Você pode construir com ambos, mas se o Python 2 for chamado no Vim, o Python 3 não poderá ser chamado na mesma sessão e vice-versa. No Arch Linux também, o Vim é compilado apenas com um dos Python 2 ( vim, gvim) ou Python 3 ( vim-python3, gvim-python3).


Antes de 16.04

Para reconstruir o Vim que os repositórios fornecem:

sudo apt-get build-dep vim
apt-get source vim
cd vim-*  # it will be vim-7.4.something

Edite debian/rulese substitua:

ALLINTERPFLAGS+=--enable-pythoninterp --with-python-config-dir=$(shell python-config --configdir)
ALLINTERPFLAGS+=--disable-python3interp

Com:

ALLINTERPFLAGS+=--enable-pythoninterp=dynamic --with-python-config-dir=$(shell python-config --configdir)
ALLINTERPFLAGS+=--enable-python3interp=dynamic --with-python3-config-dir=$(shell python3-config --configdir)

Então corra:

dpkg-buildpackage -us -uc

Almoçar. (Ou chá, se você usou -j $(nproc).)

Agora, vários .debarquivos serão criados no diretório pai. Para ver quais:

cd ..
ls vim*.deb

Junto com a variante particular que deseja instalar ( vim, vim-gnome, vim-gtk, etc.), você terá de instalar vim-common_*.deb, vim-runtime_*.debe para as versões GUI, vim-gui-common_*.deb. Por exemplo, with vim-gnomee a versão atual de vimnos repositórios:

sudo dpkg -i vim-gnome_7.4.052-1ubuntu3_amd64.deb vim-common_7.4.052-1ubuntu3_amd64.deb vim-gui-common_7.4.052-1ubuntu3_all.deb vim-runtime_7.4.052-1ubuntu3_all.deb

Então:

$ vim --version | grep python
+cryptv          +linebreak       +python/dyn      +viminfo
+cscope          +lispindent      +python3/dyn     +vreplace

O PPA pi-rho / dev constrói o Vim dessa maneira, para que você possa usá-lo em vez de construí-lo manualmente.


16.04

A partir do 16.04, o Ubuntu cria o Vim com suporte ao Python 3. Apoio Python 2 é fornecido por os -py2pacotes ( vim-nox-py2, vim-gnome-py2, etc.).


Palavras-chave:


O Vim compilado dessa maneira me dá um erro ao tentar carregar as funções de pymode: Este Vim não pode executar: py3 depois de usar: python. Quando eu estava usando o Gentoo em vez do Ubuntu, o vim usava python 3 e esse problema não existia.
CrabMan

@CrabMan Leia o primeiro parágrafo.
muru

@CrabMan O que você pode tentar é criar apenas com Python3 (essencialmente trocando python3 e python nas linhas que já existiam). Então, qualquer coisa que tente carregar o python2 falhará.
muru

YouCompleteMe indisponível: requer o Vim compilado com suporte ao Python 2.x. Eu acho que é uma das extensões vim mais importantes que eu uso, então essa não é uma opção.
CrabMan 16/02

Até onde eu entendo, posso incluir apenas a linha "py3 3" no meu .vimrc e isso terá o mesmo efeito que compilar o vim com suporte apenas ao python3.
CrabMan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.