Ubuntu 16.04 VIM sin soporte de python


22

Aunque las notas de la versión de Ubuntu 16.04 mencionan que:

El paquete VIM predeterminado se ha compilado contra python3 en lugar de python2.

Sin embargo, después de instalar vim con el siguiente comando:

sudo apt-get install vim

Y comprobado:

vim --version

Mostró:

-python
-python3

¿Es un error? ¿Cómo obtengo vim con el soporte de Python?

Respuestas:


27

Si desea la compatibilidad con Python 3 en vim, instale el vim-noxpaquete ( sudo apt install vim-nox), consulte la edición a continuación .

Sin embargo, si aún necesita soporte para Python 2, instale el vim-nox-py2paquete ( sudo apt install vim-nox-py2).

Editar : vimse actualizó recientemente para solucionar este problema, y ​​ya no debería necesitar instalar el vim-noxpaquete para obtener soporte para Python 3.


1
Sí, lo hice ... pero ¿por qué el paquete vim no es compatible con Python?
Saprativa Bhattacharjee

Ubuntu dividió el soporte de Python del paquete principal en otros dos paquetes: uno que admite Python 2 y otro que admite Python 3. Después de instalar uno de los paquetes anteriores, debería poder usar vim con el soporte de Python 2/3.
saiarcot895

1
¿No es sorprendente que el paquete vim en sí no sea compatible con ninguna de las pitones? Las notas de lanzamiento mencionan lo contrario. wiki.ubuntu.com/XenialXerus/ReleaseNotes
Saprativa Bhattacharjee

@ saiarcot895 Esto aparentemente funciona para mí. ¿Pero dónde desenterraste esta información? ¿Existe un wiki de Ubuntu que documente cómo distribuyen las cosas?
qweruiop

2
Solo quería agregar que después de la instalación vim-nox-py2necesitaba ejecutar sudo update-alternatives --set vim /usr/bin/vim.nox-py2. Creo que, por favor, corrígeme de otra manera, sin que esto vimapunte vim.tinyo algún paquete que no tenga soporte para Python.
DBS

3

En 17.10-18.10 es difícil obtener una copia de vim con soporte para python2 y python3. La configuración de PPA de pi-rho tiene dichos paquetes para versiones anteriores, pero aún no hay nada para 17.10 y posteriores.

Esto es lo que hice para ejecutar los paquetes pi-rho:

  1. desinstalar todos los paquetes vim (esto lo obligará a desinstalar "ubuntu-minimal")
  2. descargue los paquetes vim desde aquí que terminan en "~ z"
  3. descargue los paquetes perl-modules-5.24 , libgdbm3 y libperl5.24
  4. instálelos usando dpkg: vaya al directorio de descargas y haga sudo dpkg -i libgdbm3_1.8.3-14_amd64.deb libperl5.24_5.24.1-2ubuntu1.1_amd64.deb perl-modules-5.24_5.24.1-2ubuntu1.1_all.deb vim*.deb
  5. reinstale "ubuntu-minimal": sudo apt install ubuntu-minimal
  6. bloquear la versión vim
    • abra el administrador de paquetes sinápticos y resalte los paquetes vim que acaba de instalar. Vaya a Paquete -> "Versión de bloqueo"
    • También es posible que necesite "retener" los paquetes sudo apt-mark holdpara cada uno de esos paquetes (por ejemplo sudo apt-mark hold vim-common vim-gnome)


1

En Ubuntu 17.10 , compilar es la solución que funcionó para mí:

Directamente inspirado por esta esencia , hice lo siguiente:

sudo apt-get remove --purge vim vim-runtime vim-gnome vim-tiny vim-gui-common
sudo apt-get install checkinstall
sudo rm -rf /usr/local/share/vim /usr/bin/vim
cd /tmp && git clone https://github.com/vim/vim
cd vim/src
make distclean
cd ..
./configure --enable-multibyte --enable-perlinterp=dynamic --enable-pythoninterp=dynamic --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu --enable-cscope --enable-gui=auto --with-features=huge --with-x --enable-fontset --enable-largefile --disable-netbeans --with-compiledby="put your name here" --enable-fail-if-missing
make
sudo make install
sudo ln -s /usr/local/bin/vim /usr/bin/vim

No olvides adaptar el ./configure parámetros para que tengas todas las demás funciones que necesitas.

Ahora puede abrir vim y ejecutar el comando :echo has('python')para confirmar que tiene Python 2 habilitado.


1

Instalar vim-nox-py2y luego ejecutar

sudo update-alternatives --config vim

trabajó para mi.

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.