Potrzebuję Windows 7 + vim + python do pisania wtyczek vim.
:python print("hello")
E370: Could not load library python27.dll
E263: Sorry, this command is disabled, the Python library could not be loaded.
Próbowałem wszystkiego:
- ponownie zainstalowany vim
- odinstalowałem wszystkie moje 64-bitowe wersje Pythona i zainstalowałem wersje 32-bitowe
- ponownie zainstalowałem vima
- zrestartowałem komputer
- dziurkowane biurko i klawiatura
- zrestartowałem komputer
Odpowiedzi:
Diagnostyka
:version
pokaże ci, jeśli masz 32-bitowy vim lub 64-bitowypython.exe
pokaże, czy masz 32-bitowy lub 64-bitowy python.Rozkład
Teraz możesz wybrać:
32-bitowy vim + 32-bitowy python lub
64-bitowy vim + 64-bitowy python
w przeciwnym razie nie będzie narzekać na podany błąd.
Uwaga: najnowszego 64-bitowego vima nie można już pobrać ze strony pobierania. Z jakiegoś tajemniczego powodu jest teraz nowa specjalna strona:
http://vim.wikia.com/wiki/Where_to_download_Vim
źródło
Czy na pewno zainstalowałeś tę samą 32-bitową wersję Pythona, której szukał Vim? Nie widzę powodu, dla którego nie rozwiązałoby to twojego problemu, chyba że w jakiś sposób zbudowałeś exe gvim bez obsługi Pythona. W każdym razie miałem dokładnie ten problem i oczywistą rzeczą dla mnie było to, że moja biblioteka DLL Pythona miała x64, podczas gdy miałem 32-bitowy vim. Rozwiązaniem było dla mnie po prostu zbudowanie 64-bitowej wersji Vima. Wolę aktualizację Vima niż obniżenie wersji Pythona. Argumenty, które wysłałem do pliku make, to:
Następnie zastąpiłem mój oryginalny 32-bitowy program gvim.exe 64-bitowym, który właśnie zbudowałem. Wszystko działało idealnie. Jeśli martwisz się problemami z kompilacją, nie przejmuj się - użycie kompilatorów Visual Studio 2010 i uruchomienie make z odpowiedniego wiersza poleceń Visual Studio (narzędzia krzyżowe x64) były bardzo proste. W razie potrzeby mogę wysłać dalsze instrukcje.
źródło
Ok, oto: z jakiegoś powodu zainstalowanie „kremu” naprawia to: cream.sourceforge.net.
Co ciekawe, „krem” zawiera zwykłą wersję „gvim” - więc mogę z niego korzystać.
źródło
Alternatywne rozwiązanie, o którym nigdy nie wspominałem, które działało dla mnie.
1. jako inne odpowiedzi, upewnij się, że wersja Pythona odpowiada bitowi 32/64.
2. dodaj
set pythondll=FULL_PATH_TO_THE_APPROPRIATE_PYTHON.DLL
do swojego .vimrcna przykład:
set pythondll=E:\\extern\\python27-32\\python27.dll
3. Załaduj ponownie vimrc, zamykając i ponownie uruchamiając vim lub używając
:source $MYVIMRC
inne ciekawostki:
aby dowiedzieć się, gdzie jest twój .vimrc
:echo $MYVIMRC
aby łatwo edytować .vimrc
:e $MYVIMRC
aby zobaczyć, co jest ustawione na
:options
wtedy/pythondll
lub:set pythondll?
aby sprawdzić, czy zadziałało,
:py import sys
a następnie:py print('Happy')
Więcej informacji:
:help python-dynamic
:help pythondll
:help options
:help source
:help $MYVIMRC
edytować:
źródło
Miałem ten problem z VIM 7.2 szukającym python25.dll. Zostało to naprawione przez dodanie ścieżki do pliku python25.dll (c: \ python25 \ w moim systemie) do zmiennej środowiskowej PATH.
źródło
Jeśli chcesz zachować swoje 64-bitowej wersji Pythona, w tej chwili, łatwym do zainstalowania i najnowsza wersja Vim64 dla systemu Windows można znaleźć tutaj . Nawet odinstalowuje dla ciebie istniejący 32-bitowy gvim.
źródło
Istnieje podobne pytanie: błąd dysku Google: python27.dll
Problem dotyczy zależności python27.dll. Możesz to sprawdzić za pomocą narzędzia dependencywalker. Nieodebrane dll to „msvcr90.dll”. Jest dostarczany z „pakietem redystrybucyjnym Microsoft Visual C ++ 2008”, a system Windows 7 nie zawiera go nawet we wszystkich zainstalowanych aktualizacjach. Powinieneś zainstalować ten pakiet ręcznie z:
Windows 7 x64: https://www.microsoft.com/en-us/download/details.aspx?id=15336
Windows 7 32-bitowy: https://www.microsoft.com/en-US/download/details.aspx?id=29
źródło