Buildout site-dirs and develop eggs
Hi, When buildout installs develop eggs how does it setup --site-dirs ? I've tried having a rummage in buildout.py but I don't understand what the Buildout._develop method is doing; It appears to be preparing a environ dict - presumably in preparation for execing the moral equivalent of 'python setup.py develop' - but it does not pass this to zc.buildout.easy_install.develop. It _does_ pass in dest. I can see this comes from buildout['buildout']['develop-eggs-directory']; but it doesn't appear to do anything special to propagate this to --site-dir. I have sometimes works sometimes doesn't symptoms (see below) - Is there current working dir nonsense going on here ? The relevant versions are: zc.buildout.easy_install.picked: zc.buildout = 1.0.0b23 zc.buildout.easy_install.picked: setuptools = 0.6c5 I'm getting this error from running "buildout -vvv install": buildout: Develop: /home/robin/devel-asycamore/recipes zc.buildout.easy_install: in: /home/robin/devel-asycamore/recipes ['/tmp/tmpzqO9yC', '-q', 'develop', '-mxN', '-d', '/home/robin/devel-asycamore/./tmpxiPaPrbuild'] buildout: Develop: /home/robin/devel-asycamore/asycamore-trunk zc.buildout.easy_install: in: /home/robin/devel-asycamore/asycamore-trunk ['/tmp/tmp06R7ze', '-q', 'develop', '-mxN', '-d', '/home/robin/devel-asycamore/./tmppOiykWbuild'] error: /home/robin/devel-servers (in --site-dirs) is not on sys.path While: Installing Processing develop directory /home/robin/devel-asycamore/asycamore-trunk An internal error occured ... This is my first pass through working with zc.buildout and I think my buildout.cfg suspect. I have a recipe that does an svn co/up, a part that 'installs' sources using it, and dependent part that builds a release egg. At the very top I'm also listing the 'part' produced svn checkout as a 'develop' egg. As develop eggs get built before non develop eggs I dont think this will work in a single pass but even so the --site-dirs error was not what I was expecting. Is there a 'right way' tm to have a buildout install a develop link based on a part produced checkout ? I got some hints from this thread: http://mail.python.org/pipermail/distutils-sig/2007-January/007160.html but didn't see any clear recommendations. My buildout - such as it is - can be found here: http://svn.wiretooth.com/svn/open/asycamore.developer/trunk/ Cheers, Robin
Ah, woops. I had an unhelpful setup.cfg in one of the source checkouts
I was tracking.
And the way zc.buildout deals with develop targets being dependent on
parts is kind of neat. If the target is missing, it just goes a head
with the parts anyway. If you run the buildout a second time you get
the develop links to the sources installed by the previous run. And as
they are 'develop' links it doesn't matter if the subsequent part
steps do update or un-install/install. Nice one :)
Robin
On 10/04/07, Robin Bryce
Hi,
When buildout installs develop eggs how does it setup --site-dirs ?
I've tried having a rummage in buildout.py but I don't understand what the Buildout._develop method is doing; It appears to be preparing a environ dict - presumably in preparation for execing the moral equivalent of 'python setup.py develop' - but it does not pass this to zc.buildout.easy_install.develop. It _does_ pass in dest. I can see this comes from buildout['buildout']['develop-eggs-directory']; but it doesn't appear to do anything special to propagate this to --site-dir.
I have sometimes works sometimes doesn't symptoms (see below) - Is there current working dir nonsense going on here ?
The relevant versions are: zc.buildout.easy_install.picked: zc.buildout = 1.0.0b23 zc.buildout.easy_install.picked: setuptools = 0.6c5
I'm getting this error from running "buildout -vvv install":
buildout: Develop: /home/robin/devel-asycamore/recipes zc.buildout.easy_install: in: /home/robin/devel-asycamore/recipes ['/tmp/tmpzqO9yC', '-q', 'develop', '-mxN', '-d', '/home/robin/devel-asycamore/./tmpxiPaPrbuild'] buildout: Develop: /home/robin/devel-asycamore/asycamore-trunk zc.buildout.easy_install: in: /home/robin/devel-asycamore/asycamore-trunk ['/tmp/tmp06R7ze', '-q', 'develop', '-mxN', '-d', '/home/robin/devel-asycamore/./tmppOiykWbuild'] error: /home/robin/devel-servers (in --site-dirs) is not on sys.path While: Installing Processing develop directory /home/robin/devel-asycamore/asycamore-trunk
An internal error occured ...
This is my first pass through working with zc.buildout and I think my buildout.cfg suspect. I have a recipe that does an svn co/up, a part that 'installs' sources using it, and dependent part that builds a release egg. At the very top I'm also listing the 'part' produced svn checkout as a 'develop' egg. As develop eggs get built before non develop eggs I dont think this will work in a single pass but even so the --site-dirs error was not what I was expecting.
Is there a 'right way' tm to have a buildout install a develop link based on a part produced checkout ?
I got some hints from this thread: http://mail.python.org/pipermail/distutils-sig/2007-January/007160.html but didn't see any clear recommendations.
My buildout - such as it is - can be found here: http://svn.wiretooth.com/svn/open/asycamore.developer/trunk/
Cheers, Robin
participants (1)
-
Robin Bryce