GVIM 在 运行 python 时崩溃

GVIM crashes when running python

我无法在 GVIM 中使用 python。当我输入: :python print 1 它只是在没有任何消息的情况下关闭了 GVIM。我用 -V90logfile 尝试 运行 它,但我找不到任何关于崩溃的信息。

GVIM 是用 python 编译的(:version 显示 +python/dyn +python3/dyn)。

GVIM 版本:7.3.46(32 位 OLE)。 Python版本:2.7.3

最初 GVIM 找不到 python27.dll 所以我编辑了 $MYVIMRC 并添加了:

let $Path = "C:\Program Files (x86)\Python27;".$Path

GVIM 和 Python 都是使用公司标准安装的 - 而不是通过安装程序手动安装。在这里询问,因为 IT 无法帮助我并重定向到外部支持。

我可以在我的个人计算机上重现错误,我在其中复制了 GVIM 和 PYTHON 而没有安装它们。还有什么建议吗?

Vim 似乎对 Python DLL 版本很挑剔。 2.7.11(我写这篇文章时的当前版本)不起作用。我根据类似主题的另一个 SO 答案安装了 2.7.9,并且运行良好。

请注意,Python 安装程序将 DLL 放入 C:\Windows\system32(或类似的语言,具体取决于语言),这应该自动在您的路径中,但在我的情况下,我只想 Python -in-Vim 无论我安装了什么都可以工作,所以我将 2.7.9 DLL 复制到 Vim 安装目录中。

也许 Python virtualenv 包在这里也有帮助,但我只是刚刚了解它并没有尝试过。

终于解决了问题

原来Python使用PYTHONPATH变量来解析PYTHON文件夹(用于加载python库等)。这是 Python 2.7 的默认值:

C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk

可以使用以下方法之一设置变量:

1。 Windows 注册表

设置HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore.7\PythonPath键的默认值

2。环境变量

创建环境变量 PYTHONPATH 并设置值(与编辑全局变量相同 PATH

3。 _vimrc 文件

这是最便携的方式。编辑你的 _vimrc(即打开 vim 并输入 :e $MYVIMRC 命令)并设置变量:

let $PYTHONPATH = "C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk"