vim no pudo cargar la biblioteca python27.dll


11

Necesito Windows 7 + vim + python para escribir complementos vim.

:python print("hello")
E370: Could not load library python27.dll
E263: Sorry, this command is disabled, the Python library could not be loaded.

Probé todo:

  • vim reinstalado
  • desinstalé todas mis versiones de Python de 64 bits e instalé las de 32 bits
  • VIM reinstalado de nuevo
  • computadora reiniciada
  • escritorio perforado y teclado
  • computadora reiniciada

Para todos aquellos que tienen el mismo problema: la instalación de "cream" lo soluciona: cream.sourceforge.net Sí, esta pregunta probablemente se cerrará, pero el hecho es que todavía no hay una solución para esto en ninguna parte de la web.
Andriy Drozdyuk

Responder su propia pregunta es bueno, pero publíquelo como respuesta, no como comentario, luego acéptelo después de dos días.

compílelo con soporte para python
Eric Fortis

Hm ... no lo estoy compilando, sino que estoy descargando un instalador.
Andriy Drozdyuk

@drozzy: no son instaladores aquí: bintray.com/veegee/generic/vim_x64 . Tuve el mismo problema que tú y no quería construir Vim por mi cuenta. ¡Simple!
Eckes

Respuestas:


13

Diagnósticos

:versionle mostrará si tiene 32bit vim o 64bit
python.exele mostrará si tiene 32bit o 64bit python.

Resolución

Ahora depende de usted elegir:

  • 32bit vim + 32bit python o

  • 64 bits vim + 64 bits python

de lo contrario no funcionará quejándose con el error que citó.

Nota: El último vim de 64 bits ya no se puede descargar desde la página de descarga. Por alguna misteriosa razón ahora hay una nueva página especial para eso:

http://vim.wikia.com/wiki/Where_to_download_Vim


5

¿Está seguro de que instaló la misma versión de Python de 32 bits que Vim estaba buscando? No veo ninguna razón por la que esto no hubiera solucionado su problema, a menos que de alguna manera tuviera un exe gvim construido sin soporte de python. De todos modos, tuve precisamente este problema, y ​​lo obvio para mí fue que mi dll de python era x64, mientras que tenía 32 bits vim. La solución para mí fue simplemente construir una versión de 64 bits de Vim. Prefiero actualizar Vim a degradar Python. Los argumentos que envié al archivo make fueron:

nmake -f Make_mvc.mak GUI=yes CPU=AMD64 PYTHON=C:\Python27 DYNAMIC_PYTHON=yes PYTHON_VER=27

Luego reemplacé mi gvim.exe original de 32 bits por el de 64 bits que acabo de construir. Todo funcionó a la perfección. Si le preocupa la molestia de la compilación, no se preocupe, fue muy sencillo usar los compiladores de Visual Studio 2010 y ejecutar make desde el símbolo del sistema de Visual Studio apropiado (herramientas cruzadas x64). Puedo enviar más instrucciones si es necesario.


Estaba exactamente en tu situación. Como no quería volver a compilar vim, instalé la versión de 32 bits de python 2.7 y ahora gvim funciona de maravilla.
apelliciari

Hay una versión x64 precompilada (vinculada desde la página de descarga de vim.org), la instalación resuelve el problema.
Antony Hatchkins el

2

Ok, aquí va: por alguna razón, la instalación de "crema" lo corrige: cream.sourceforge.net.

:python print("hello")
hello

Curiosamente, "crema" incluye una versión regular de "gvim", por lo que puedo usar eso.


2

Una solución alternativa que no he visto mencionada que funcionó para mí.

1. Como dicen las otras respuestas, asegúrese de que la versión de Python coincida con el bit 32/64.

2. agregar set pythondll=FULL_PATH_TO_THE_APPROPRIATE_PYTHON.DLLa su .vimrc

por ejemplo: set pythondll=E:\\extern\\python27-32\\python27.dll

3. Vuelva a cargar el vimrc cerrando y reiniciando vim, o usando:source $MYVIMRC

otras cositas:

  • para averiguar dónde está tu .vimrc :echo $MYVIMRC

  • editar fácilmente tu .vimrc :e $MYVIMRC

  • para ver a qué está configurado :optionsentonces /pythondllo:set pythondll?

  • para probar que funcionó :py import sysseguido de:py print('Happy')

Más información:

:help python-dynamic

:help pythondll

:help options

:help source

:help $MYVIMRC

editar:


En Vim 8.0 esto funciona solo sin comillas (') o comillas dobles ("). Obviamente, su ruta no debe contener espacios: /
Boris Brodski

buen punto BorisBrodski. Cambié las citas a backticks para ayudar con cualquier confusión.
Jon Plotner

1

Tuve este problema con VIM 7.2 buscando el python25.dll. Esto se solucionó agregando la ruta al archivo python25.dll (c: \ python25 \ en mi sistema) a la variable de entorno PATH.


0

Si desea conservar su versión de Python de 64 bits, en este momento, puede encontrar una versión reciente y fácil de instalar de Vim64 para Windows aquí . Incluso desinstala tu gvim de 32 bits existente por ti.


0

Hay una pregunta similar: error de unidad de Google: python27.dll

El problema está en las dependencias de python27.dll. Puede verificar esto mediante la utilidad dependencywalker. El dll perdido es "msvcr90.dll". Viene con el "Paquete redistribuible de Microsoft Visual C ++ 2008" y Windows 7 no lo incluye incluso con todas las actualizaciones instaladas. Debe instalar este paquete manualmente desde:

Windows 7 x64: https://www.microsoft.com/en-us/download/details.aspx?id=15336

Windows 7 de 32 bits: https://www.microsoft.com/en-US/download/details.aspx?id=29


OP ya tenía una solución mejor
2017
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.