Plone5.1.x 自定义组件依赖five.grok 在升级到 Plone5.2.x 后 错误处理

Plone5.2.x 默认不加载five.grok,原来那些依赖five.grok的组件 升级到5.2.x后会报如下错误:

  File "/home/plone/.buildout/eggs/five.grok-1.3.2-py2.7.egg/five/grok/__init__.py", line 22, in <module>
from five.grok.components import Model, Container, Site, LocalUtility
File "/home/plone/.buildout/eggs/five.grok-1.3.2-py2.7.egg/five/grok/components.py", line 21, in <module>
from zope.location.interfaces import IPossibleSite
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/home/plone/.buildout/eggs/plone.directives.dexterity-1.0.2-py2.7.egg/plone/directives/dexterity/meta.zcml", line 7.4-7.52
File "/home/plone/workspace/Plone526/sites/parts/client1/etc/site.zcml", line 12.2-12.39
File "/home/plone/.buildout/eggs/Products.CMFPlone-5.2.6-py2.7.egg/Products/CMFPlone/meta.zcml", line 38.4-42.10
File "/home/plone/.buildout/eggs/plone.app.dexterity-2.6.9-py2.7.egg/plone/app/dexterity/meta.zcml", line 5.2-6.67
ImportError: cannot import name IPossibleSite

原因时 zope.location.interfaces 模块已经删除了IPossibleSite

解决办法:

 File "/home/plone/.buildout/eggs/five.grok-1.3.2-py2.7.egg/five/grok/components.py", line 21, in <module>
#from zope.location.interfaces import IPossibleSite
from zope.component.interfaces import IPossibleSite
设置