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)
- 我检查过它带有 +python/dyn 和 +python3/dyn
- 我已经安装了 Python 2.7.10 x86,并在我的 Path 环境中添加了 python 的路径。
:echo has('python')
按预期打印 1
。
- 然而:当我输入
:python print 'test'
时,vim 退出,就好像我输入了 :q
:python mum tell me, why does windows exists?
,它也退出了。想知道为什么...至少不是 print
问题。
使用tuxproject's nighty builds of vim 7.4.826 (x86)
- 它确实带有 +python/dyn 和 +python3/dyn。还有:
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)!等等...
:echo has('python')
按预期打印 1
。
- 但是,"merry christmas!" 说 vim。
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 命令将会崩溃,所以我不再建议这样做。
为了在 Vim (Windows) 上安装一些使用 python 的插件,我已经苦苦挣扎了 2 天。即使有股票 vimrc.
使用the official vim 7.4 binary (x86)
- 我检查过它带有 +python/dyn 和 +python3/dyn
- 我已经安装了 Python 2.7.10 x86,并在我的 Path 环境中添加了 python 的路径。
:echo has('python')
按预期打印1
。- 然而:当我输入
:python print 'test'
时,vim 退出,就好像我输入了:q
:python mum tell me, why does windows exists?
,它也退出了。想知道为什么...至少不是print
问题。
使用tuxproject's nighty builds of vim 7.4.826 (x86)
- 它确实带有 +python/dyn 和 +python3/dyn。还有:
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)!等等...
:echo has('python')
按预期打印1
。- 但是,"merry christmas!" 说 vim。
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 命令将会崩溃,所以我不再建议这样做。