如何使用collective.monkeypatcher在IFooBar
中添加someproduct
?
这是我尝试过的方法,它是错误的(因为IFooBar
在原始产品中不存在。)
<monkey:patch description="Create missing FooBar interface"
class="someproduct.interfaces.IFooBar"
original="IFooBar"
replacement="myproduct.patches.IFooBar"
docstringWarning="true" />
错误是ConfigurationError: ('Invalid value for', 'class', 'ImportError: Module someproduct.interfaces has no global IFooBar')
。
我的最终目标是跳过此错误:当我尝试激活/停用加载项时收到PicklingError: Can't pickle <class 'someproduct.interfaces.IFooBar'>: attribute lookup someproduct.interfaces.IFooBar failed
。
这是因为我安装了具有someproduct
的{{1}}的新版本,然后又恢复了较旧的版本(没有IFooBar
)而没有卸载附加组件。
更新:
替换行:
IFooBar
使用
class="someproduct.interfaces.IFooBar"
是同一回事。错误:
class="someproduct.interfaces"
。
答案 0 :(得分:0)
哦。只需添加:ignoreOriginal="true"