Vim for Windows: Python 加载不正确/“崩溃”

Vim for Windows: Python doesn't load properly / “crashes”

为了在 Vim (Windows) 上安装一些使用 python 的插件,我已经苦苦挣扎了 2 天。即使有股票 vimrc.

使用the official vim 7.4 binary (x86)

使用tuxproject's nighty builds of vim 7.4.826 (x86)

Used libraries: Perl 5.22.1, Python 2.7.10, Python 3.4.3, Ruby 2.2.3, Lua 5.3.0, Tcl 8.6.4, libXpm.

太棒了!那是我下载的版本(2.7.10)!等等...

Sorry, this command is disabled, the Python's site module could not be loaded. Windows isn't good enough. Oh, and merry christmas!

使用tuxproject's nighty builds of vim 7.4.826 (x64)

我尝试使用 x64 的 python 二进制文件,注意从我的 Path 变量中删除 x86 版本。与上述问题相同。

使用Kaoriya's vim 7.4.something (x64) and Veegee's vim 7.4.803

与上述相同的问题。

编译 vim 怎么样?

Windows.


我没那么懒惰,嗯,是的,我... 但如果没有任何其他解决方法,我会尝试编译它。如果它不能解决任何问题,我真的不想编译它。如果我至少能理解为什么会发生这些问题...

好的,我设法解决了这个问题。

对于那些可能感兴趣的人,预期的 python 版本是 Python 2.7.9 而不是 2.7.10。安装 Python 2.7.9 x86(和 x64)修复了相应 vim 版本的所有内容。

首先,需要检查编译成vim的python版本。一种方法是编辑 gvim 可执行文件(例如,对于 window,它是 gvim.exe),并查找 "python\d*.dll\c",如 vim 手册中所述。尽管如此,当你 运行 :echo has('python3') || has ('python') 时,它可能会提示你 vim 无法找到并加载 python27.dll 或 python32.dll,因此你可以猜测 python 也以这种方式用 vim 编译。

一旦您确定了所需的 python 版本,并且如果您的 python 安装在另一个位置,那么您可以指定 pythonthreedll 位置让 vim 找到它。

:set pythonthreedll=D:\installed\python\python35.dll

再次检查以下内容: :echo has('python3')

我也有这个问题,但我没有安装以前的版本。

我所做的就是在我的系统环境变量中设置 PYTHONHOME=C:\Users\MYUSERNAME\Anaconda2 来解决这个问题! 如果您没有使用 Anaconda 作为 python 安装程序,您可能需要调整位置。

注意:我使用 python 2.7.11 和 3.5(它们都是通过 Anaconda 64 位安装的)

PS。请确保 PYTHONHOME 输入正确,没有下划线。它应该只指向 Python 2 的位置。不要指向 Python 3 文件夹。

PPS。事实证明,如果您设置 PYTHONHOME,您在终端上运行的 python3 命令将会崩溃,所以我不再建议这样做。