9

Мне нужна 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 снова
  • перезагрузил компьютер
  • перфорированный стол и клавиатура
  • перезагрузил компьютер

7 ответов7

11

диагностика

:version покажет вам, если у вас есть 32-битный VIM или 64-битный
python.exe покажет вам, если у вас 32-битный или 64-битный питон.

разрешение

Теперь вам остается выбрать:

  • 32-битный VIM + 32-битный Python или

  • 64-битный VIM + 64-битный питон

иначе это не будет работать, жалуясь на ошибку, которую вы указали.

NB Последние 64-битные vim больше нельзя загружать со страницы загрузки. По какой-то таинственной причине теперь есть новая специальная страница для этого:

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

5

Вы уверены, что установили ту же версию 32-битного Python, которую искал Vim? Я не вижу причин, по которым это не решило бы вашу проблему, если бы у вас не было сборки gvim exe без поддержки python. Во всяком случае, у меня была именно эта проблема, и для меня было очевидным, что мой python dll был 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-битный, который я только что построил. Все работало отлично. Если вы беспокоитесь о сложностях сборки, не думайте, что было очень просто использовать компиляторы Visual Studio 2010 и запускать make из соответствующей командной строки Visual Studio (кросс-инструменты x64). Я могу прислать дополнительные инструкции, если это необходимо.

2

Хорошо, вот и все: по какой-то причине установка "cream" исправляет это: cream.sourceforge.net.

:python print("hello")
hello

Интересно, что "крем" включает в себя обычную версию "гвим" - так что я могу использовать только это.

1

Альтернативное решение, которое я не видел, упоминается и работает для меня.

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"

": помогите pythondll"

": варианты помощи"

": источник помощи"

":help $ MYVIMRC"

1

У меня была эта проблема с VIM 7.2 при поиске python25.dll. Это было исправлено путем добавления пути к файлу python25.dll (c:\python25\ в моей системе) к переменной среды PATH.

0

Если вы хотите сохранить свою 64-битную версию Python, на данный момент простую в установке и последнюю версию Vim64 для Windows можно найти здесь. Он даже удаляет ваш существующий 32-битный gvim для вас.

0

Есть похожий вопрос: ошибка диска Google: python27.dll

Проблема в зависимости python27.dll. Вы можете проверить это с помощью утилиты зависимостей. Пропущенный dll является "msvcr90.dll". Он поставляется с «Microsoft Visual C++ 2008 Redistributable Package», и 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .