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
Respuestas:
Diagnósticos
:version
le mostrará si tiene 32bit vim o 64bitpython.exe
le 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
fuente
¿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:
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.
fuente
Ok, aquí va: por alguna razón, la instalación de "crema" lo corrige: cream.sourceforge.net.
Curiosamente, "crema" incluye una versión regular de "gvim", por lo que puedo usar eso.
fuente
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.DLL
a su .vimrcpor 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
:options
entonces/pythondll
o:set pythondll?
para probar que funcionó
:py import sys
seguido de:py print('Happy')
Más información:
:help python-dynamic
:help pythondll
:help options
:help source
:help $MYVIMRC
editar:
fuente
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.
fuente
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.
fuente
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
fuente