vim не зміг завантажити бібліотеку python27.dll


11

Мені потрібен Windows 7 + vim + python для написання плагінів vim.

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

Спробував усе:

  • перевстановлений vim
  • видалив усі мої 64-бітові версії python та встановив 32-бітну версію
  • знову встановлено vim
  • перезавантажений комп'ютер
  • перфорований стіл і клавіатура
  • перезавантажений комп'ютер

Для всіх, у кого однакова проблема: встановлення "крему" виправляє це: cream.sourceforge.net Так - це питання, ймовірно, закриється - але факт полягає в тому, що досі в Інтернеті цього рішення немає.
Андрій Дроздюк

Відповісти на власне запитання добре, але опублікуйте це як відповідь, а не коментар, а потім прийміть це через два дні.

складіть його з підтримкою python
Ерік Фортіс

Гм ... я це не збираю, а швидше завантажую інсталятор.
Андрій Дроздюк

@drozzy: тут є встановники : bintray.com/veegee/generic/vim_x64 . Була така ж проблема, як ви, і я не хотів будувати Vim самостійно. Просто!
eckes

Відповіді:


13

Діагностика

:versionпокаже вам, якщо у вас 32-бітний vim або 64-бітний
python.exe, покаже, якщо у вас є 32-бітний або 64-бітний пітон.

Дозвіл

Тепер вирішувати вибрати:

  • 32-бітний vim + 32-бітний пітон або

  • 64-бітний vim + 64-бітний пітон

інакше він не працює, скаржившись на помилку, яку ви процитували.

NB Останній 64-бітний vim більше не можна завантажувати зі сторінки завантаження. З якоїсь загадкової причини тепер для цього є нова спеціальна сторінка:

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


5

Ви впевнені, що встановили ту саму версію 32-бітного пітона, яку шукав Vim? Я не бачу причин, щоб це не вирішило вашу проблему, якщо б ви якось не створили gvim exe без підтримки python. У всякому разі, у мене була саме ця проблема, і очевидно, що для мене було те, що мій dll python був x64, тоді як у мене було 32 біт vim. Для мене рішенням було просто побудувати 64-бітну версію Vim. Я дуже вважаю за краще модернізувати Vim до пониження рівня Python. Аргументи, які я надіслав до файлу make:

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

Потім я замінив свій початковий 32-бітний gvim.exe на 64-бітний, який я щойно створив. Все працювало чудово. Якщо ви турбуєтесь про клопоти збірки, не будьте - це було дуже просто, використовуючи компілятори візуальної студії 2010 та запускаючи make з відповідного візуального командного рядка візуальної студії (x64 cross tools). Я можу надіслати подальші вказівки за потреби.


я був саме у вашій ситуації. оскільки я не хотів перекомпілювати vim, я встановив 32-бітну версію python 2.7 і тепер gvim працює як шарм!
apelliciari

Існує попередньо скомпільована версія x64 (пов’язана зі сторінкою завантаження vim.org), встановлення якої вирішує проблему.
Антоні Хеткінс

2

Добре, це іде: чомусь встановлення "крему" виправляє це: cream.sourceforge.net.

:python print("hello")
hello

Цікаво, що "крем" включає звичайну версію "gvim" - тому я можу використовувати саме це.


2

Альтернативне рішення, яке я не бачив, згадувало, що працювало на мене.

1. як зазначено в інших відповідях, переконайтеся, що версія python відповідає 32/64 біту.

2. додати set pythondll=FULL_PATH_TO_THE_APPROPRIATE_PYTHON.DLLдо свого .vimrc

наприклад: set pythondll=E:\\extern\\python27-32\\python27.dll

3. перезавантажте vimrc, закривши або перезапустивши vim, або використовуючи:source $MYVIMRC

інші ласощі:

  • щоб дізнатися, де твій .vimrc :echo $MYVIMRC

  • легко редагувати .vimrc :e $MYVIMRC

  • щоб побачити, для чого встановлено :optionsтоді /pythondllабо:set pythondll?

  • перевірити, що це спрацювало, :py import sysпісля чого:py print('Happy')

Більше інформації:

:help python-dynamic

:help pythondll

:help options

:help source

:help $MYVIMRC

редагувати:


На Vim 8.0 це працює лише без лапок (') або подвійних лапок ("). Очевидно, що шлях не повинен містити пробілів: /
Борис Бродський,

хороший момент БорисБродський. Я змінив котирування на задній план, щоб допомогти в будь-якій плутанині.
Джон Плотнер

1

У мене була ця проблема з VIM 7.2, шукаючи python25.dll Це було виправлено шляхом додавання шляху до файлу python25.dll (c: \ python25 \ у моїй системі) до змінної середовища PATH.


0

Якщо ви хочете зберегти 64-бітну версію Python, на даний момент тут можна знайти просту в установці та останню версію Vim64 для Windows . Він навіть видаляє наявні 32-бітні гвім для вас.


0

Існує подібне питання: Помилка диска Google: python27.dll

Проблема полягає в залежності python27.dll. Ви можете перевірити це за допомогою утиліти зависимості. Пропущений dll - "msvcr90.dll". Він поставляється з "Microsoft Visual C ++ 2008 Перерозподільний пакет", а Windows 7 не включає його навіть у всі встановлені оновлення. Ви повинні встановити цей пакет вручну з:

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

32-бітний Windows 7: https://www.microsoft.com/en-US/download/details.aspx?id=29


OP вже краще рішення
Ясс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.