预编译的官方gVim Windows二进制文件是否可以与Python 3一起使用?

时间:2012-07-31 00:06:00

标签: python windows vim windows-xp python-3.2

我从官方VIM.org网站下载了gVim73_46.exe,并使用其完整组件安装了它,我使用Python 3.2进行开发(但如果它更有可能与VIM一起使用,则会满足3.1)。

运行vim --version命令会给我一个-python -python3结果。但是,在Vim中运行:echo has("python")会得到1(True)。这是否意味着我的Vim是为支持Python 2而构建的?

对于Python 3,运行:py3命令会产生E370: Could not load library python31.dll。这是否意味着它是为支持Python 3.1而构建的?如果是的话,我可以使用我的3.2吗?

如果不是,是否有任何来源我可以获得支持Python 3(+python3)的预编译Windows二进制文件?

2 个答案:

答案 0 :(得分:2)

来自:help python3

Vim can be built in four ways (:version output):
1. No Python support        (-python, -python3)
2. Python 2 support only    (+python or +python/dyn, -python3)
3. Python 3 support only    (-python, +python3 or +python3/dyn)
4. Python 2 and 3 support   (+python/dyn, +python3/dyn)

When Python 2 and Python 3 are both supported they must be loaded dynamically. 
  

运行:py3命令给出E370:无法加载库python31.dll。这是否意味着它是为支持Python 3.1而构建的?

是。如果你得到python 3.1并正确设置你的路径,vim应该有python。

  

我可以使用我的3.2吗?

不,vim被编译为期望某个接口,所以你需要一个匹配的库。

答案 1 :(得分:1)

@pydave正确回答了你的问题,我只能另外建议使用另一个版本的vim: http://tuxproject.de.nyud.net/projects/vim/ 。它使用几乎最新版本的解释器编译,包括Python-3.2.3。它还使用最新的vim-7.3.618,它包含我的补丁,扩展了python / python3解释器支持(pyeval() / py3eval()函数和vim.bindeval())。

更新:它似乎已移至http://tuxproject.de/projects/vim/,但我不再使用预编译的二进制文件(有一个脚本可以为我交叉编译它们)因此无法验证这一点是的。