vim não pôde carregar a biblioteca python27.dll


11

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

Para todos que têm o mesmo problema: a instalação de "creme" corrige: cream.sourceforge.net Sim - essa pergunta provavelmente será encerrada - mas o fato é que ainda não há solução para isso em nenhum lugar da web.
Andriy Drozdyuk

Responder a sua própria pergunta é bom, mas publique-a como resposta, não como comentário, e aceite-a após dois dias.

compile-o com suporte a python
Eric Fortis

Hum ... eu não estou compilando, mas sim baixando um instalador.
Andriy Drozdyuk

@drozzy: não são instaladores aqui: bintray.com/veegee/generic/vim_x64 . Tive o mesmo problema que você e não queria criar o Vim por conta própria. Simples!
Eckes

Respostas:


13

Diagnóstico

:versionirá mostrar se você tem 32 bits vim ou 64 bits
python.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


5

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:

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

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.


eu estava exatamente na sua situação. desde que eu não queria recompilar o vim, instalei a versão de 32 bits do python 2.7 e agora o gvim funciona como um encanto!
Apelliciari

Há uma versão x64 pré-compilada (vinculada à página de download do vim.org), a instalação resolve o problema.
Antony Hatchkins

2

Ok, aqui vai: Por algum motivo, instalar "cream" corrige: cream.sourceforge.net.

:python print("hello")
hello

Curiosamente, "creme" inclui uma versão regular do "gvim" - para que eu possa usar exatamente isso.


2

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.DLLao seu .vimrc

por 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 :optionsentão /pythondllou:set pythondll?

  • para testar se funcionou :py import sysseguido por:py print('Happy')

Mais informações:

:help python-dynamic

:help pythondll

:help options

:help source

:help $MYVIMRC

editar:


No Vim 8.0, isso funciona apenas sem aspas (') ou aspas duplas ("). Obviamente, o caminho não deve conter espaços: /
Boris Brodski

bom ponto BorisBrodski. Alterei as aspas para backticks para ajudar com qualquer confusão.
Jon Plotner

1

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.


0

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ê.


0

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


OP já tinha uma solução melhor
yass
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.