Buildout breaks with zope.component 3.6.0 release

by Stefan Eletzhofer last modified Mar 20, 2009 12:17 AM
All of a sudden your buildout, which worked fine yesterday, stops working and you get "ImportError: No module named ImplPython".

Problem Description

A previously working Plone buildout stops working and gives you the nasty traceback below if you start the plone instance.

Cause

This is caused by buildout silentyl upgrading zope.component to 3.6.0 because you forgot to pin all the eggs in your buildout.

But I've pinned all of them, honestly!
Did you pin the eggs in your skip-fake-eggs stanza? You may have this because you use plone.z3cform

Solution

Pin zope.component to 3.5.1.

Full Traceback

Traceback (most recent call last):
  File "bin/instance1", line 121, in ?
    plone.recipe.zope2instance.ctl.main(
  File "/Users/seletz/develop/fnb/wcms/releases/1.8/eggs/plone.recipe.zope2instance-2.8-py2.4.egg/plone/recipe/zope2instance/ctl.py", line 237, in main
    options.realize(args, doc=__doc__)
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/Zope2/Startup/zopectl.py", line 95, in realize
    ZDOptions.realize(self, *args, **kw)
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/zdaemon/zdoptions.py", line 273, in realize
    self.load_schema()
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/zdaemon/zdoptions.py", line 321, in load_schema
    self.schema = ZConfig.loadSchema(self.schemafile)
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/ZConfig/loader.py", line 31, in loadSchema
    return SchemaLoader().loadURL(url)
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/ZConfig/loader.py", line 65, in loadURL
    return self.loadResource(r)
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/ZConfig/loader.py", line 159, in loadResource
    schema = ZConfig.schema.parseResource(resource, self)
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/ZConfig/schema.py", line 27, in parseResource
    xml.sax.parse(resource.file, parser)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/xml/sax/__init__.py", line 33, in parse
    parser.parse(source)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/xml/sax/expatreader.py", line 107, in parse
    xmlreader.IncrementalParser.parse(self, source)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/xml/sax/xmlreader.py", line 123, in parse
    self.feed(buffer)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/xml/sax/expatreader.py", line 207, in feed
    self._parser.Parse(data, isFinal)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/xml/sax/expatreader.py", line 300, in start_element
    self._cont_handler.startElement(name, AttributesImpl(attrs))
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/ZConfig/schema.py", line 99, in startElement
    getattr(self, "start_" + name)(attrs)
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/ZConfig/schema.py", line 475, in start_schema
    keytype, valuetype, datatype = self.get_sect_typeinfo(attrs)
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/ZConfig/schema.py", line 201, in get_sect_typeinfo
    datatype = self.get_datatype(attrs, "datatype", "null", base)
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/ZConfig/schema.py", line 194, in get_datatype
    return self._registry.get(dtname)
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/ZConfig/datatypes.py", line 398, in get
    t = self.search(name)
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/ZConfig/datatypes.py", line 423, in search
    package = __import__(n, g, g, component)
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/Zope2/Startup/datatypes.py", line 21, in ?
    import OFS.Uninstalled
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/OFS/Uninstalled.py", line 16, in ?
    import  SimpleItem, Globals, Acquisition
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/OFS/SimpleItem.py", line 26, in ?
    import AccessControl.Role, AccessControl.Owned, App.Common
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/AccessControl/__init__.py", line 17, in ?
    from Implementation import setImplementation
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/AccessControl/Implementation.py", line 98, in ?
    setImplementation("C")
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/AccessControl/Implementation.py", line 51, in setImplementation
    from AccessControl import ImplC as impl
  File "/opt/inquant/buildout/zope/Zope-2.10.6-final-py2.4/lib/python/AccessControl/ImplC.py", line 30, in ?
    from ImplPython import RestrictedDTML, SecurityManager, ZopeSecurityPolicy
ImportError: No module named ImplPython