运行 python 时 GVIM 崩溃
Posted
技术标签:
【中文标题】运行 python 时 GVIM 崩溃【英文标题】:GVIM crashes when running python 【发布时间】:2016-06-06 10:45:09 【问题描述】:我不能在 GVIM 中使用 python。当我输入:
:python print 1
它只是关闭 GVIM 而没有任何消息。我尝试使用-V90logfile
运行它,但我找不到有关崩溃的任何信息。
GVIM 是用 python 编译的(:version
显示 +python/dyn +python3/dyn
)。
GVIM 版本:7.3.46(带 OLE 的 32 位)。 Python 版本:2.7.3
最初 GVIM 找不到 python27.dll 所以我编辑了$MYVIMRC
并添加了:
let $Path = "C:\\Program Files (x86)\\Python27;".$Path
GVIM 和 Python 都是使用企业标准安装的 - 不是通过安装程序手动安装的。在这里询问,因为 IT 无法帮助我并重定向到外部支持。
我可以在我的个人计算机上重现该错误,在那里我复制了 GVIM 和 PYTHON 而没有安装它们。还有什么建议吗?
【问题讨论】:
【参考方案1】:终于解决了问题。
原来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\2.7\PythonPath
键的默认值
2。环境变量
创建环境变量PYTHONPATH
并设置值(与编辑全局PATH
相同)
3。 _vimrc 文件
这是最便携的方式。编辑您的 _vimrc(即打开 vim 并输入 :e $MYVIMRC
命令)并设置变量:
let $PYTHONPATH = "C:\\Python27\\Lib;C:\\Python27\\DLLs;C:\\Python27\\Lib\\lib-tk"
【讨论】:
太棒了!这是让我的 gvim 运行 ConqueTerm 的最后一部分! 对我来说,将PYTHONPATH
设置为 C:\\Python\\lib
适用于 python 3.6.4 和最新的 vim。
全局设置 PYTHONPATH
被证明是一个坏主意,因为它破坏了旧的 python2.7 脚本(在没有 virtualenv 的情况下运行)。 let $PYTHONPATH="C:\\Python\\lib"
效果更好。【参考方案2】:
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 时 GVIM 崩溃的主要内容,如果未能解决你的问题,请参考以下文章