在Windows上安装支持Python3的GVIM?

6
我如何在Windows上安装带有Python3支持的GVIM?我已经安装了VIM 7.4,它在其版本文件中指出(运行:version命令)“+python3 / dyn”和“-DDYNAMIC_PYTHON3_DLL = \“python32.dll\””。因此,它似乎已准备好支持Python 3。当我运行时:
:echo has("python3")

它会返回零。如果我进行测试

:py3 print("hello") 

它说无法加载python32.dll。

5个回答

14

这里提供一种我使用的方法,让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文件,在这种情况下,会显示错误消息,例如cannot load 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中的测试仍然有效。


9
这个问题的难点在于具体解决方案很快就会过时。发布解决方案当天,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版本。(或者,如果对于您来说python版本比vim版本更重要,则可以尝试找到为python编译的vim版本,但这将更难找到。)
  3. 确保包含python dll的目录位于%PATH%环境变量中。(注意:仅将python dll复制到$VIM文件夹中以使其正常工作只能在短期内起作用。您没有所有必要的python库,这些库通常被认为是可用的。)
  4. 最后,使用:python2 print("hello"):python3 print("hello")命令验证您想要的python版本。
特定链接(如果必须): 注意:这些链接很快就会过时,但以下是一些可以共同使用的各种编译版本的gvim和python的链接: 对于2018-08的gvim-8.1.x&python-3.7.xpython-2.7.x 对于2018-08的gvim-8.1.x&python-3.6.xpython-2.7.x

如果你在2018年08月使用 gvim-7.4.xpython-3.5.xpython-2.7.x, 请下载以下软件:


在vim中执行:py3 print('hi'),错误信息包含足够的关于vim所寻找的Python版本(比如3.6)的信息。然后检查:version以查看您正在运行的gim版本(可能是32)。最后,前往Python并获取正确的版本/架构安装程序(比如32位Python 3.6)。我以管理员身份安装Python,vim没有问题找到它。 - ricardo

3
很遗憾,我花了一天的时间才弄清楚。如果您想在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测试,应该会成功。

对于现在找到这篇文章的人,这个解决方案特别适用于今天(2016年7月)从vim.org获取的Vim7.4版本。 - Hovis Biddle

1

我使用Haroogan的编译版本,它非常好用并且有一个适用于Windows的64位版本。

编辑:

veegee的版本似乎是一个不错的替代品。感谢评论中的Markus Meskanen。


请使用veegee's。他是一个非常棒的人,总是愿意在你通知他后立即为最新版本的Python编译Vim。 - Markus Meskanen

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接