用Python3支持在Windows上安装GVIM?

如何用Python3支持安装GVIM for Windows? 我已经安装了VIM 7.4,它在版本文件(run:version command)中显示“+ python3 / dyn”和“-DDYNAMIC_PYTHON3_DLL = \”python32.dll \“,所以看起来已经可以支持Python 3了。

:echo has("python3") 

它返回零。 如果我testing

 :py3 print("hello") 

它说它不能加载python32.dll。

下面是我用来让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中的测试仍然有效。

不幸的是,这花了我一天的时间来弄清楚。 如果您希望在Windows上使用GVIM 7.3+来支持Python3,那么这是解决这个问题最简单的方法。

我正在运行64位的Windows 8,但是,确保你抓住一个32位版本的Python。 默认情况下,您最有可能拥有32位版本的GVIM,而这两者需要匹配。 特别是,抓住Python3的3.2.x版本,因为这就是VIM正在寻找的DLL(python32.dll)。 在撰写本文时,不要打扰最新版本的Python 3,3.4.0; 如果你确实需要这个,那么我不知道该怎么帮忙。

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

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

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

我使用Haroogan的编译版本 ,这是伟大的,有一个64位版本的Windows。

编辑:

veegee的版本似乎是一个很好的选择。 感谢Markus Meskanen的评论。