在支持Python3的Windows上安装GVIM?

时间:2014-05-16 01:48:52

标签: python windows vim python-3.x

如何在支持Python3的情况下为Windows安装GVIM?我已经安装了VIM 7.4,其中包含版本文件(运行:版本命令)“+ python3 / dyn”和“-DDYNAMIC_PYTHON3_DLL = \”python32.dll \“。所以看起来它已经准备好支持Python 3.当我运行时

:echo has("python3")

它返回零。如果我用

测试
:py3 print("hello") 

它说它无法加载python32.dll。

5 个答案:

答案 0 :(得分:9)

以下是我用VIM 7.x使用Python 3.x的方法。

  1. 安装您喜欢的VIM。建议:从VIM.org获取最新版本,尽管该网站似乎只有32位版本。如果您想要64位(我的偏好)在https://bintray.com/veegee/generic/vim_x64预先构建或选择您自己在其他地方预建的,或者自己构建。

  2. 输入命令:py3 print(“hello”)

  3. 它可能找不到python dll,在这种情况下它会给出一条错误消息,例如无法加载pythonXX.dll,其中XX是一个两位数的数字。就我而言,VIM正在寻找python35.dll,它来自Python 3.5.1(可能还有任何Python 3.5.x)。该数字将根据您使用的VIM版本而有所不同。

  4. 去寻找匹配的Python发行版。匹配意味着VIM和Python必须是32位或64位,并且存在VIM所需的DLL(在步骤3中)。例如,似乎Python 3.5.x提供了python35.dll。安装它。

    1. 我不记得必须做任何特别的事情来让VIM找到python DLL,除了确保它所在的目录应该在路径中,我认为它已经是。如果没有,请将包含DLL的目录添加到路径中。

    2. 重试第2步。现在应该可以了。

    3. 如果将来升级VIM或Python,您可能需要同时升级另一个,以确保步骤2中的测试仍然有效。

答案 1 :(得分:4)

让这个问题变得如此棘手的问题是,特定解决方案很快就会过时。发布解决方案的当天,vimpython的版本已更新或链接已更改。 @ mark-colon提供的步骤非常棒,但适用于vim-7。

通用说明:

vimpython需要在许多不同级别上同步:

  1. 都必须是32位或64位

  2. Vim需要找到特定的python dll版本。这取决于谁编译了您的gvim版本。例如,gvim-8.1.x可能使用python3.6或python3.7,并且需要确切的版本!有时,您可以使用:gvim --version来查看vim在启动时正在搜索哪些特定的dll,否则您需要从gvim的下载位置查找。这是python的版本,您必须搜索Internet并将其安装在系统上。 (或者,如果python版本比vim版本对您更重要,您可以尝试查找为python编译的vim版本,但这很难找到。)

  3. 确保包含python dll的目录必须位于%PATH%环境变量上。 (注意:有些只是将python dll复制到$ VIM文件夹以使工作正常,仅在短期内有效。您没有所有必需的python库,这些库通常被认为可用。)

  4. 最后,根据所需的python版本,使用ex命令:python2 print("hello"):python3 print("hello")进行验证。

特定链接(如果需要):

注意:这些将很快过时,但是以下是一些可以一起使用的gvim和python编译版本的链接:

对于截至2018-08年的gvim-8.1.xpython-3.7.xpython-2.7.x

对于截至2018-08年的gvim-8.1.xpython-3.6.xpython-2.7.x

对于截至2018-08年的gvim-7.4.xpython-3.5.xpython-2.7.x

答案 2 :(得分:3)

不幸的是,这花了我一天才弄明白。如果您希望在Windows上使用GVIM 7.3+支持Python3,这是解决此问题的最简单方法。

我正在运行64位Windows 8,但是,请确保您获取了32位版本的Python。默认情况下,您很可能拥有32位版本的GVIM,而这两个版本需要匹配。具体来说,抓住 3.2.x 版本的Python3,因为就DLL而言,这就是VIM正在寻找的东西(python32.dll)。在撰写本文时,请不要使用最新版本的Python 3,3.4.0;如果你确实需要,那我就不知道如何提供帮助。

一旦安装了Python 3.2.x,请确保执行最后一个棘手的部分:

python32.dll未放在system32文件夹中,它实际上位于C:\ Windows \ SysWOW64文件夹中。您需要将“C:\ Windows \ SysWOW64”添加到PATH环境变量中。

现在在GVIM中重新尝试你的python3测试,它应该会成功。

答案 3 :(得分:1)

我使用 Haroogan's compiled version ,它很棒,并且有一个64位版本的Windows。

编辑:

veegee's版本似乎是一个不错的选择。感谢Markus Meskanen的评论。

答案 4 :(得分:0)

我测试过你应该对vim和python使用相同的架构。 见https://vi.stackexchange.com/questions/11004/how-to-get-python-support

如果您只需要在vim中使用python功能,请下载python36.dll并输入$ VIM并验证:echo has(' python3')