Как включить поддержку Python в gVim на Windows? - PullRequest
48 голосов
/ 18 января 2011

Я пытаюсь получить поддержку Python в gVim на Windows.Есть ли способ сделать это?

Я использую:

  • Windows XP SP3
  • gVim v. 7.3
  • Python 2.7.13 (ActivePython через двоичные файлы установщика Windows)

Ответы [ 13 ]

37 голосов
/ 18 января 2011

Обычно поддержка python встроена в официальный дистрибутив gvim.

Вам потребуется установить python: Загрузки Python

чтобы проверить, поддерживает ли vim python:

:echo has("python")
31 голосов
/ 31 июля 2013

У меня была та же проблема, но в Windows 7, и перезагрузка не устранила ее.

У меня уже был установлен gVim 7.3.На момент написания текущей версии Python был 3.3, так что я установил это.Но: has ("python") и: has ("python3") по-прежнему возвращали 0.

После долгих проб и ошибок я определил, что:

  • Если gVim равен 32-бит, и обычно это происходит даже в 64-битной Windows (вы можете подтвердить это с помощью команды: version), тогда вам также потребуется установка 32-битного Python
  • Перезапуск Windows 7 не требуется
  • Версия python должна соответствовать версии, для которой скомпилирован gVim, так как он ищет определенное имя DLL.Вы можете решить это с помощью команды: version в gVim, которая дает что-то вроде:

Компиляция: cl -c / W3 / nologo -I.-Iproto -DHAVE_PATHDEF -DWIN32
-DFEAT_CSCOPE -DFEAT_ NETBEANS_INTG -DFEAT_XPM_W32 -DWINVER = 0x0400 -D_WIN32_WINNT = 0x0400 /Fo.\ObjGOLYHTR/ / Ox / GL -DNDEBUG / Zl / MT -DFEAT_OLE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DFEAT_GUI_W32 -DDYNAMIC_ICONV -DDYNAMIC_GETTEXT -DFEAT_TCL -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL = \ "tcl83.dll \" -DDYNAM IC_TCL_VER = \ "8.3 \" -DFEAT_PYTHON -DD_DY_ND_FD_FD_ND_YD_ND_RID_JD_ND_DF_RID_F_DF_D_DF_DF_RF_DF_D_N_TYT_TYT_C_C_TYT_TYT_C_TYTBTBTBTBTBTYBDDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL = \ " python31.dll \" -DFEAT_PERL -DDYNAMI C_PERL -DDYNAMIC_PERL_DLL = \ "perl512.dll \" -DIFAT_DYD_RDD_RD_RD_RD_RID_RID_RD_RID_RID_RID_RID_RID_RID_RID_RID_RID_RID_RID_RID_RID_RID_RID_RID_RD_RD_RD_RD_RID_RD_RD_D_D_D_C_D_D_C_D_C_D_C_L_C_D_C_L_C_L_C_C_L_C_L_C_C_L_C_LB_C_C_HY_BYC_C_LBYBYC_BYBYBYBYBdll \ "-DFEAT_BIG /Fd.\ObjGOLYHTR/ / Zi

Так что выше сказанное мне сказал, что я на самом деле не хочу Python 3.3, мне нужно 3.1 (или 2.7). После установки python 3.1: has ("python") по-прежнему возвращает 0, но: has ("python3") теперь возвращает 1. Это должно означать, что скрипты на основе python теперь будут работать!

Я представляю будущие версииИоны gVim могут быть скомпилированы с другими версиями python, но использование этого метода должно позволить вам определить, какая версия требуется.

25 голосов
/ 28 сентября 2012

Я столкнулся с этой проблемой в Windows 7 64-bit. Я понял, что использую 64-битный Python 2.7.3 и 32-битный vim 7.3-46. Я переустановил обе версии как 32-битные, а затем перезагрузил компьютер. Теперь это работает.

11 голосов
/ 31 марта 2012

Если вы установили Python через один из установщиков Windows, он, вероятно, скомпилирован с поддержкой Python 2.7.Вы можете убедиться в этом, запустив:

:version

Он будет отображать все параметры, с которыми Vim был скомпилирован.Ваш должен сказать что-то вроде

+python/dyn +python3\dyn

Это означает, что у вас есть поддержка Python 2.7 и 3.x.Если у вас уже есть 2.5, он не будет работать.Вам нужно будет обновить до 2.7 или 3.x.

6 голосов
/ 15 декабря 2014

Извините за поздний вклад.Проблема в том, что вы не можете смешивать x86 vim с библиотеками x64 python, и все предлагаемые решения сводятся к переустановке x86 python.Ну, я не хочу переустанавливать Python, Ruby, и кто знает, что еще зависит от них, только потому, что vim официально не обеспечивает справедливое распространение x64 на windows.Хорошей новостью является то, что вы все еще можете найти его хорошо спрятанным в http://vim.wikia.com/wiki/Where_to_download_Vim.Удачи, и позаботьтесь о версиях библиотеки Python.

4 голосов
/ 18 февраля 2017

Принятый ответ не решил мою проблему, поэтому я решил опубликовать найденное мной решение после некоторых усилий.

Во-первых, как указано в принятом ответе, вам понадобится оба gVim, скомпилированные с pythonвключен, и соответствующая установка Python.Убедитесь, что они оба 32-битные или 64-битные.Я обнаружил, что сборка по умолчанию с www.vim.org не включала python, а также она была 32-битной, что не соответствовало моему python27.Я закончил сборкой "gvim_8.0.0003_x64.zip" из этого репозитория vim Git

Затем я разархивировал его, скопировал папку "vim80" в официальную папку установки vim(созданный 32-битной установкой, скачанный www.vim.org).

Теперь vim работает с моим 64-битным python2.7.

ОБНОВЛЕНИЕ 24.02.2017:

Вышеприведенная процедура завершилась неудачно на другом компьютере, где локальная установка Python - 2.7.9.Моя версия Python 2.7.11, когда мне это удалось.

Итак, похоже, сборка из репозитория vim Git работает для конкретной версии Python.Попробуйте обновить установку Python до 2.7.11, если можете.Если вам нужно использовать более старую версию Python, то, возможно, вам нужно собрать исходный код Vim на своем компьютере.Следовать инструкциям несложно, и используйте предоставляемый Visual Studio cmd вместо стандартного cmd для Windows.

1 голос
/ 04 июля 2015

У меня была похожая проблема.Я уже несколько лет наслаждаюсь возможностью полного завершения работы vim, используя Windows XP, Python 2.7, gVim 7. Недавно я перешел на новый ПК под управлением Windows 8.1.Я установил gVim и плагины, которые мне нравятся, затем опробовал все.Omni-завершение дало ошибку, говоря, что мне нужна версия vim, скомпилированная с поддержкой Python.На этом этапе я еще не установил Python.Решением было установить Python, а затем переустановить vim.Омни-завершение теперь работает.Возможно, порядок установки имеет значение.

0 голосов
/ 10 мая 2019

Добавьте следующие скрипты к вашему .vimrc

set pythonthreedll = python36.dll

В большинстве дистрибутивов vim в Windows динамически загружается python, вы должны сообщить vim, что такое dll, и убедиться, что python36.dll есть в вашемPATH переменная окружения.

0 голосов
/ 29 мая 2016

После того, как все ответы в этой теме были безуспешны, у меня сработало следующее (Win10, Python 2.7 32bit, gvim 7.4 32bit):

  1. Снова вызвать Python Installer, выбрать Изменить Python
  2. Выберите параметр Добавить Python в путь , который по умолчанию отключен
  3. После завершения установки перезагрузите компьютер
0 голосов
/ 14 марта 2016

Загрузите файл под названием "Исполняемый файл OLE GUI"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...