Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否在支持Python 3的windows上安装GVIM?_Python_Windows_Vim_Python 3.x - Fatal编程技术网

是否在支持Python 3的windows上安装GVIM?

是否在支持Python 3的windows上安装GVIM?,python,windows,vim,python-3.x,Python,Windows,Vim,Python 3.x,如何安装支持Python3的Windows GVIM?我已经安装了VIM 7.4,它在版本文件(run:version命令)中说“+python3/dyn”和“-DDYNAMIC\u python3\u DLL=\“python32.DLL\”,所以它看起来已经准备好支持Python 3了 :echo has("python3") 它返回零,如果我用 :py3 print("hello") 它说它无法加载python32.dll。不幸的是,我花了一天的时间才弄明白。如果您希望在Window

如何安装支持Python3的Windows GVIM?我已经安装了VIM 7.4,它在版本文件(run:version命令)中说“+python3/dyn”和“-DDYNAMIC\u python3\u DLL=\“python32.DLL\”,所以它看起来已经准备好支持Python 3了

:echo has("python3")
它返回零,如果我用

:py3 print("hello") 

它说它无法加载python32.dll。

不幸的是,我花了一天的时间才弄明白。如果您希望在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测试,它应该会成功。

我使用它,它很棒,并且有一个64位的windows版本

编辑:


版本似乎是一个不错的选择。多亏了Markus Meskanen的评论。

这里是我用来让VIM 7.x与Python 3.x一起工作的方法

  • 安装您喜欢的VIM。建议:从VIM.org获取最新版本,尽管该网站似乎只有32位版本。如果您想要64位(我的首选),请在或在其他地方选择您自己的预构建,或构建您自己的预构建

  • 键入命令:py3 print(“hello”)

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

  • 找到一个匹配的Python发行版。匹配意味着VIM和Python必须是32位或64位,并且VIM想要的DLL(在步骤3中)存在。因此,例如,Python 3.5.x似乎提供了python35.DLL。请安装它

  • 我不记得为了让VIM找到python DLL需要做什么特别的事情,除了确保它所在的目录应该在路径中,我认为它已经在路径中了。如果没有,请将带有DLL的目录添加到您的路径中

  • 重试步骤2。它现在应该可以工作了

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


  • 我已经测试过,您应该对vim和python使用相同的体系结构。 看


    如果您只需要vim中的python特性,请下载python36.dll并放入$vim,并通过以下方式进行验证:echo has('python3')使这个问题变得如此困难的问题是,特定的解决方案很快就过时了。在发布解决方案的当天,
    vim
    python
    的版本会被更新或链接会发生变化。@mark colon提供的步骤非常棒,但面向vim-7

    一般说明:
    vim
    python
    需要在许多不同的级别上同步:

  • 两者都需要32位或64位

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

  • 确保保存python dll的目录需要位于%PATH%环境变量上。(注意:有些只是将python dll复制到$VIM文件夹以使其在短期内工作。您没有通常认为可用的所有必要python库。)

  • 最后,根据需要的python版本,使用ex命令
    :python2 print(“hello”)
    :python3 print(“hello”)
    进行验证

  • 特定链接(如果必须): 注意:这些都将很快过时,但以下是一些指向gvim和python的各种编译版本的链接,它们可以一起工作:

    对于自2018-08年起的
    gvim-8.1.x
    python-3.7.x
    python-2.7.x

    对于自2018-08年起的
    gvim-8.1.x
    python-3.6.x
    python-2.7.x

    对于自2018-08年起的
    gvim-7.4.x
    python-3.5.x
    python-2.7.x


    对于现在发现这一点的人来说,这个解决方案特别适用于今天(2016年7月)从vim.org.Use获得的Vim7.4发行版。他是一个非常棒的人,只要你通知他,他总是愿意为最新的Python编译vim。在vim中执行
    :py3打印('hi')
    ,错误消息包含有关python vim正在查找的版本的足够信息(例如3.6)。然后检查
    :version
    ,查看您正在运行的gim版本(可能是32)。最后,转到第页