代码之家  ›  专栏  ›  技术社区  ›  Moayad Mardini

官方的gVimWindows二进制文件是否经过预编译以使用Python3?

  •  3
  • Moayad Mardini  · 技术社区  · 14 年前

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

    跑步 vim --version 命令给了我一个 -python -python3 后果但是,运行 :echo has("python") 在Vim中给出 1 (正确)。这是否意味着我的Vim是为支持Python 2而构建的?

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

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

    2 回复  |  直到 14 年前
        1
  •  2
  •   idbrii    14 年前

    从…起 :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是为了期望某个接口,所以您需要一个匹配的库。

        2
  •  1
  •   ZyX    12 年前

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

    使现代化 :它似乎移到了 http://tuxproject.de/projects/vim/ ,但我不再使用预编译的二进制文件(有一个为我交叉编译它们的脚本),因此无法验证这是真的。