vim 和 conque gdb 插件的问题

Problems with vim and conque gdb plugin

我们有几个开发主机,大部分是基于 red hat 的。除了两个,我可以毫无问题地获得 vim 和 conque gdb 运行 。然而,在两台主机上,我在启动 gdb 时得到了这个:

Error detected while processing function conque_gdb#load_python:
line    6:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/myuser/.vim/autoload/conque_gdb/conque_gdb.py", line 39, in <module>
    class RegisteredBpDict(collections.MutableMapping):
AttributeError: 'module' object has no attribute 'MutableMapping'
Press ENTER or type command to continue

这是在 solaris 10、vim 7.4、python 版本 2.5.1 上。

我在 redhat 5.4 上使用 vim 7.0 和 python 2.4.3 得到相同的结果。

它可以工作,例如在带有 vim 7.4 和 python 2.4.3 的 redhat 5.7 上。

好像和python有关,但我真的完全不熟悉,迷失在python,所以我不知道根本原因是什么是。在非工作主机上,我什至重新编译了一些较新的 python 版本(例如 2.7.10),但没有成功。

有人可以帮助我让它工作吗?

解决此问题的一种方法是检查 $PATH 中的 Python 二进制文件是否确实包含您的 Vim 插件试图调用的模块和属性。

运行 python 在不工作的主机上,并使用 hasattr():

检查 module/attribute
>>> import collections; hasattr(collections, "MutableMapping")
True

如果结果是 False,则 $PATH 中 Python 使用的库不包含您的插件所需的必要依赖项。

根据评论中的讨论,这可以通过确保使用正确的库编译 Python 来解决,这是 [=29= 使用的 Python 版本].