在Windows上安装支持Python3的GVIM?

6 投票
5 回答
14477 浏览
提问于 2025-04-18 06:44

我该如何在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 个回答

0

我测试过,使用相同的架构来运行vim和python是很重要的。你可以查看这个链接了解更多信息:https://vi.stackexchange.com/questions/11004/how-to-get-python-support

如果你只是想在vim中使用python的功能,可以下载一个叫做python36.dll的文件,然后把它放到$VIM这个文件夹里。接着,你可以通过输入命令::echo has('python3')来确认是否成功。

1

我使用的是 Haroogan编译的版本,这个版本非常不错,还有适合64位Windows的版本。

补充:

veegee的版本看起来也是个不错的选择。感谢评论中的Markus Meskanen。

3

很不幸,这个问题我花了一整天才搞明白。下面是解决这个问题的最简单方法,如果你想在Windows上用GVIM 7.3+支持Python3的话。

我在64位的Windows 8上,但你需要下载一个32位的Python版本。默认情况下,你很可能会有一个32位的GVIM,这两个版本需要一致。特别是,下载一个3.2.x版本的Python3,因为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测试,应该就能成功了。

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文件,系统会给出一个错误信息,比如说无法加载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的编译版本链接:

对于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(截至2018-08):

撰写回答