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 版本].
我们有几个开发主机,大部分是基于 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()
:
>>> import collections; hasattr(collections, "MutableMapping")
True
如果结果是 False
,则 $PATH
中 Python 使用的库不包含您的插件所需的必要依赖项。
根据评论中的讨论,这可以通过确保使用正确的库编译 Python 来解决,这是 [=29= 使用的 Python 版本].