[Zope-dev] Re: Zope2 and eggs

Wichert Akkerman wichert at wiggy.net
Sun Jun 10 15:21:56 EDT 2007


Previously Philipp von Weitershausen wrote:
> Wichert Akkerman wrote:
> >I wanted to share a bit of experience I just had with use of eggs in Zope2.
> >For a project I am working on I want to use the zope.sendmail package in
> >a Zope2 environment managed using buildout. I added zope.sendmail to the
> >eggs list in the buildout configuration and ran buildout. This pulled in
> >a large part of the Zope3 packages. This produced conflicts between those
> >packages and the ones included in Zope2 which resulted in a pretty boken
> >instance:
> >
> >[snow;..stances/revelation]-84> bin/instance test -s zope.sendmail
> >Traceback (most recent call last):
> >  File "bin/instance", line 205, in ?
> >    plone.recipe.zope2instance.ctl.main(
> >  File 
> >  "/local/buildout/eggs/plone.recipe.zope2instance-0.3-py2.4.egg/plone/recipe/zope2instance/ctl.py", line 154, in main
> >    c = AdjustedZopeCmd(options)
> >  File 
> >  "/local/buildout/eggs/tmpCiQPa8/zdaemon-2.0a6-py2.4.egg/zdaemon/zdctl.py", line 141, in __init__
> >AttributeError: 'dict' object has no attribute 'mapping'
> 
> You're dealing with two major problems here:
> 
> * It looks like zdaemon has changed in an incompatible way from 
> whichever version your Zope 2 ships with (you don't mention your Zope 2 
> version, btw) to 2.0a6. That isn't the only problem, btw. The ZODB 3.8, 
> which as likely been pulled in as an egg too, also contains a couple of 
> incompatible changes.

Zope 2.10.3-final

> >Adding zope.sendmail as a develop egg instead of a normal egg worked
> >fine though; no zope.* packages were pulled in by buildout and the
> >zope.sendmail unittests run flawlessly.
> 
> What do you mean by develop egg? Just a checkout? Or did you actually 
> call setup.py develop, because that should also pull in dependencies.

That was me not understanding buildout fully and forgetting to add the
egg to the instance recipe properly. You are correct: all dependencies
are pulled in.

At the moment my options seem to be to not use buildout or modifying
setup.py in zope.sendmail to remove all its declared dependencies.

Wichert.

-- 
Wichert Akkerman <wichert at wiggy.net>    It is simple to make things.
http://www.wiggy.net/                   It is hard to make things simple.


More information about the Zope-Dev mailing list