[Grok-dev] Re: pinning version of zc.buildout useless?

Maurits van Rees m.van.rees at zestsoftware.nl
Tue Aug 5 16:57:44 EDT 2008

Vincent Fretin, on 2008-07-31:
> On Wed, Jul 30, 2008 at 9:33 PM, Maurits van Rees
> I made further tests.
> First I removed zc.buildout system-wide and all zc.buildout eggs in
> /home/alvis/.buildout/eggs/
> I ran python2.4 bootstrap.py, it says:
> $ python2.4 bootstrap.py
> Creating directory '/home/alvis/helloworld/bin'.
> Creating directory '/home/alvis/helloworld/parts'.
> Creating directory '/home/alvis/helloworld/develop-eggs'.
> Generated script '/home/alvis/helloworld/bin/buildout'.
> Develop: '/home/alvis/helloworld/.'
> Develop: '/home/alvis/helloworld/.'
> Installing eggbasket.
> Installing eggbasket.
> Getting distribution for 'zc.buildout==1.0.6'.
> Getting distribution for 'zc.buildout==1.0.6'.
> Got zc.buildout 1.0.6.
> Got zc.buildout 1.0.6.
> By the way, why all messages after bin/buildout is generated are printed twice?

Known bug.  I thought is was in the launchpad tracker but I cannot
find it there.

> Finally I have 1.0.6 and 1.1.1 zc.buildout eggs in my
> /home/alvis/.buildout/eggs/ directory
> and in bin/buildout, it uses 1.1.1. For me zc.buildout 1.1.1 is
> installed because of ws.require('zc.buildout') line in bootstrap.py.


> Then when it calls "zc.buildout.buildout.main(sys.argv[1:] +
> ['install', 'eggbasket'])", it generate first the bin/buildout script
> and then install zc.buildout 1.0.6.


> But in bin/buildout, you have always the 1.1.1 version, so it's this
> version which is used. right?
> When you run bin/buildout after, it don't regenerate the bin/buildout
> file to use 1.0.6:

For me this *does* happen, both on my laptop with a global zc.buildout
installed and on my desktop without a global zc.buildout install.

maurits at hobb:~/buildout/foo $ cat bin/buildout 

import sys
sys.path[0:0] = [

import zc.buildout.buildout

if __name__ == '__main__':
maurits at hobb:~/buildout/foo $ bin/buildout -nv
Installing 'zc.buildout', 'setuptools'.
We have the distribution that satisfies 'zc.buildout==1.0.6'.
We have the best distribution that satisfies 'setuptools'.
Picked: setuptools = 0.6c8
  zc.buildout version 1.0.6;
Generated script '/home/maurits/buildout/foo/bin/buildout'.
Installing 'zc.buildout', 'setuptools'.

Notice the lines stating 'Upgraded' and 'restarting'.

It could be that this only ever happens when you explicitly tell
buildout to run in newest mode with "bin/buildout -n".  Indeed when
you already have version x for a package and versions.cfg specifies
version y then version x will keep being used unless you run with '-n'
(or have newest = true in buildout.cfg).

But then I do not understand why you would get a download for both
1.1.1 and 1.0.6.

Maurits van Rees | http://maurits.vanrees.org/
            Work | http://zestsoftware.nl/
"This is your day, don't let them take it away." [Barlow Girl]

More information about the Grok-dev mailing list