¿Cuál es la forma más fácil de obtener Vim con soporte para Python 3?


19

Tengo Ubuntu 14.04 instalado y Vim en sus repositorios está compilado sin el soporte de Python 3. Debido a eso, el complemento de modo python no puede funcionar con el código Python 3. ¿Cuál es la forma más fácil de obtener Vim con soporte para Python 3?

Respuestas:


16

Parece que en los sistemas basados ​​en Debian (al menos) no puedes tener tu pastel y comerlo también. Es Python 2 o Python 3. Debido a cómo se construyen las bibliotecas de Python , solo puede usar una variante dentro de una sesión de Vim. Usted puede construir con ambos, pero si Python 2 se le llama en Vim, a continuación, Python 3 no puede ser llamado en la misma sesión, y viceversa. También en Arch Linux, Vim solo se compila con Python 2 ( vim, gvim) o Python 3 ( vim-python3, gvim-python3).


Antes del 16.04

Para reconstruir el Vim que proporcionan los repositorios:

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

Editar debian/rulesy reemplazar:

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

Con:

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

Entonces corre:

dpkg-buildpackage -us -uc

Almorzar. (O té si lo usaste -j $(nproc)).

Ahora, .debse habrán creado varios archivos en el directorio principal. Para ver cuál:

cd ..
ls vim*.deb

Junto con la variante particular que desea instalar ( vim, vim-gnome, vim-gtk, etc.), usted tiene que instalar vim-common_*.deb, vim-runtime_*.deby para las versiones GUI, vim-gui-common_*.deb. Por ejemplo, con vim-gnomey la versión actual de vimen los repositorios:

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

Luego:

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

El PPA pi-rho / dev construye Vim de esta manera, por lo que puede usar el PPA en lugar de construirlo manualmente.


16.04

A partir del 16.04, Ubuntu construye Vim con soporte para Python 3. 2 apoyo Python es proporcionada por los -py2paquetes ( vim-nox-py2, vim-gnome-py2, etc.).


Relacionado:


Vim compilado de esta manera me da un error al intentar cargar funciones de pymode: Este Vim no puede ejecutar: py3 después de usar: python. Cuando estaba usando Gentoo en lugar de Ubuntu, vim usaba Python 3 y este problema no existía.
— CrabMan

@CrabMan Lee el primer párrafo.
— muru

@CrabMan Lo que puedes probar es construir solo con Python3 (esencialmente intercambiando python3 y python en las líneas que ya existían). Entonces, cualquier cosa que haya intentado cargar python2 fallará.
— muru

YouCompleteMe no está disponible: requiere Vim compilado con soporte para Python 2.x. Creo que es una de las extensiones vim más importantes que uso, por lo que no es una opción.
— CrabMan

Además, por lo que entiendo, puedo incluir la línea "py3 3" en mi .vimrc y tendrá el mismo efecto que compilar vim con solo el soporte de python3.
— CrabMan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.