[Grok-dev] Re: solving buildout problems - pinning down eggs

Jan-Wijbrand Kolman janwijbrand at gmail.com
Thu Sep 20 03:35:54 EDT 2007


Martijn Faassen wrote:
> I also know JW had things blow up on him multiple times. Perhaps JW can 
> share some of his frustrations.

I could have, but I would've sounded rather, ehm, frustrated rather than 
constructive. But since you ask :-)

My experience was this: we (me and my coworkers) were working towards a 
developement iteration deadline and every other ./bin/buildout run, we 
would end up with a failure of some sort.

Since we were in a hurry, we didn't give ourselves enough time to really 
dig into the cause of the failures (most of'em were version conflicts, 
or things like pulling in zope packages of some 3.5(!) alpha version, or 
lxml 2.0a that broke something somehow on OS X, etc.).

At that point we just started semi-randomly throwing away eggs from the 
egg cache, pinning versions in our package's setup.py, etc. etc. I know, 
  I know, this is not really helpful, but hey, we really wanted not to 
think about anything else but things we were building ourselves.

So, the frustration was this: we now have a number of tools that promise 
a reliable, reproducible, and predictable way of setting up production 
and development environments, but they cannot fulfill this promise. For 
whatever reason.

There's a couple of thing I need to figure out for my self:

* What is the best way of dealing with a version conflict, if it happens?

* Is an egg cache really that helpful (besides saving bandwidth)? And is 
there a difference in this regards between development and production 
buildouts.

* If you're developing a series of applications, at what level in the 
dependency tree do want to have versions pinned down (in whatever fashion)?

* How do "other people" in the Zope world esp. deal with this.

I hope I sounded not too frustrated... :)


regards,
jw



More information about the Grok-dev mailing list