文档中的zope.annotation示例失败。帮助需要纠正它

时间:2015-07-21 05:18:04

标签: plone zope.interface zope.component

我试图理解本文档中的注释:

http://docs.zope.org/zope.annotation/index.html

然而,该示例在运行时失败。

我明白了:

Traceback (most recent call last):
  File "./zopepy", line 366, in <module>
    exec(compile(__file__f.read(), __file__, "exec"))
  File "test1.py", line 29, in <module>
    bar = IBar(foo)
  File "eggs/zope.component-3.9.5-py2.7.egg/zope/component/_api.py", line 156, in adapter_hook
    return sitemanager.queryAdapter(object, interface, name, default)
  File "eggs/zope.component-3.9.5-    py2.7.egg/zope/component/registry.py", line 228, in queryAdapter
    return self.adapters.queryAdapter(object, interface, name, default)
  File "eggs/zope.annotation-3.5.0-py2.7.egg/zope/annotation/factory.py", line 42, in getAnnotation
    annotations = zope.annotation.interfaces.IAnnotations(context)
TypeError: ('Could not adapt', <__main__.Foo object at 0xb6d6956c>,    <InterfaceClass zope.annotation.interfaces.IAnnotations>)

1 个答案:

答案 0 :(得分:1)

示例缺少以下语句:

from zope.annotation.attribute import AttributeAnnotations
provideAdapter(AttributeAnnotations)