On Jan 20, 2009, at 11:37 AM, Pascoe, S (Stephen) wrote:

Is there a way for a recipe to pick another part's dependencies so that it can do the sys.path[0:0] = [...] magic that zc.buildout.easy_install.scripts does. I'm trying to add functionality to a zc.recipe.egg buildout by writing a recipe but I'm finding I want to use the working_set configured in the zc.recipe.egg part. E.g.

"""
[buildout]
develop-eggs = recipes
parts = foo bar

[foo]
recipe = zc.recipe.egg
eggs = ...

[bar]
recipe = recipes:myrecipe
# I want to create scripts that include the eggs installed in foo
eggs_from = foo
...
"""

At the moment the only option I can see is:

1. Grab config options from the [foo] section and re-parse all options relating to egg configuration (eggs/dependency-links/etc.)
 2. Call zc.recipe.easy_install.install() to get a working set.
3. Write sys.path[0:0] = [...] into my scripts based on the new working set.

It seems a little redundant but the zc.buildout.easy_install.scripts API doesn't quite do what I want.

You can have your recipe extend the zc.recipe.egg:scripts recipe.  See

  http://pypi.python.org/pypi/zc.recipe.egg#egg-recipe-api-for-other-recipes

zc.recipe.testrunner is one of several examples of of doing this.

Then, you'd have:

  [bar]
  recipe = recipes:myrecipe
  eggs = ${foo:eggs}
  ...

Jim

--
Jim Fulton
Zope Corporation


_______________________________________________
Distutils-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to