Egg extras not installed for recipes

Bug #85604 reported by Thomas Lotze
4
Affects Status Importance Assigned to Milestone
Buildout
New
Undecided
Unassigned

Bug Description

Automatic installation of eggs required by an egg extra doesn't seem to
work for a recipe used with zc.buildout as documented for eggs in general:

Suppose myrecipe has two entry points, the "fancy" one employing
yourrecipe. Now if I declare yourrecipe as an extra requirement only to be
installed if the "fancy" entry point is used to install any buildout part:

myrecipe/setup.py:

...

setup(...
      entry_points={"zc.buildout": [
          "default = myrecipe.foo:Recipe",
          "fancy = myrecipe.bar:Recipe [bar_extra]", ]},
      extras_require={"bar_extra": ["yourrecipe"]}, ...
      )

and use myrecipe I get a pkg_resources.DistributionNotFound error
concerning yourrecipe. It sort of works if I manually copy the yourrecipe
egg to the eggs directory beforehand, though.

Revision history for this message
kiorky (kiorky) wrote :

Yup, extras are not always conserved by zc.buildout.
I see at least one place which it occurs, In zc.buildout.easy_install._constrain.Installer._constrain().

As i use personnaly minitage.recipe:egg in flavor of zc.recipe.egg, i work arounded that in this recipe.
You can see the result there (_constrain()):
http://git.minitage.org/git/minitage/eggs/minitage.recipe/tree/src/minitage/recipe/egg/__init__.py

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.