Preciso do Windows 7 + vim + python para escrever plugins do vim.
:python print("hello")
E370: Could not load library python27.dll
E263: Sorry, this command is disabled, the Python library could not be loaded.
Tentei de tudo:
- reinstalado o vim
- desinstalou todas as minhas versões python de 64 bits e instalou as de 32 bits
- reinstalado o vim novamente
- computador reiniciado
- mesa e teclado perfurados
- computador reiniciado
Respostas:
Diagnóstico
:version
irá mostrar se você tem 32 bits vim ou 64 bitspython.exe
, se você tem 32 bits ou 64 bits python.Resolução
Agora cabe a você escolher:
32 bits vim + 32 bits python ou
64 bits vim + 64 bits python
caso contrário, não funcionará reclamando do erro que você citou.
Nota: O vim mais recente de 64 bits não pode mais ser baixado da página de download. Por alguma razão misteriosa, agora existe uma nova página especial para isso:
http://vim.wikia.com/wiki/Where_to_download_Vim
fonte
Tem certeza de que instalou a mesma versão do python de 32 bits que o Vim estava procurando? Não vejo razão para que isso não tenha resolvido o seu problema, a menos que você tenha um gvim exe construído sem o suporte a python. Enfim, eu tive exatamente esse problema, e o óbvio para mim era que minha dll python era x64, enquanto eu tinha o vim de 32 bits. A solução para mim foi simplesmente criar uma versão de 64 bits do Vim. Eu prefiro atualizar o Vim do que o Python. Os argumentos que enviei para o arquivo make foram:
Substituí meu gvim.exe original de 32 bits pelo de 64 bits que acabei de criar. Tudo funcionou perfeitamente. Se você está preocupado com o aborrecimento da compilação, não é muito simples usar os compiladores do visual studio 2010 e executar make a partir do prompt de comando apropriado do visual studio (x64 cross tools). Posso enviar mais instruções, se necessário.
fonte
Ok, aqui vai: Por algum motivo, instalar "cream" corrige: cream.sourceforge.net.
Curiosamente, "creme" inclui uma versão regular do "gvim" - para que eu possa usar exatamente isso.
fonte
Uma solução alternativa que eu não vi mencionada que funcionou para mim.
1. como as outras respostas afirmam, verifique se a versão python corresponde ao 32/64 bits.
2. adicione
set pythondll=FULL_PATH_TO_THE_APPROPRIATE_PYTHON.DLL
ao seu .vimrcpor exemplo:
set pythondll=E:\\extern\\python27-32\\python27.dll
3. recarregue o vimrc fechando e reiniciando o vim ou usando
:source $MYVIMRC
outros petiscos:
para descobrir onde está o seu .vimrc
:echo $MYVIMRC
editar facilmente seu arquivo .vimrc
:e $MYVIMRC
para ver o que está definido para
:options
então/pythondll
ou:set pythondll?
para testar se funcionou
:py import sys
seguido por:py print('Happy')
Mais informações:
:help python-dynamic
:help pythondll
:help options
:help source
:help $MYVIMRC
editar:
fonte
Eu tive esse problema com o VIM 7.2, procurando o python25.dll. Isso foi corrigido adicionando o caminho ao arquivo python25.dll (c: \ python25 \ no meu sistema) na variável de ambiente PATH.
fonte
Se você deseja manter sua versão de 64 bits do Python, neste momento, uma versão fácil de instalar e recente do Vim64 para Windows pode ser encontrada aqui . Ele até desinstala o gvim de 32 bits existente para você.
fonte
Há uma pergunta semelhante: Erro no Google drive: python27.dll
O problema está nas dependências python27.dll. Você pode verificar isso pelo utilitário dependencywalker. A dll ausente é "msvcr90.dll". Ele vem com o "Pacote Redistribuível do Microsoft Visual C ++ 2008" e o Windows 7 não o inclui mesmo com todas as atualizações instaladas. Você deve instalar este pacote manualmente a partir de:
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
fonte