I have a particular problem which I think we'll see a lot more of going forward. Zope 3 is in the process of being eggified, and we have eggs in the cheesehop of things like zope.component 3.4.0a1.
I use zc.buildout to configure a Zope instance (a zope 2.10 one, to be precise) which has the various zope.* packages in non-egg-format in $INSTANCE_HOME/lib/python/zope/*.
Then I'm depending on a package which does this:
install_requires=['setuptools', ''zope.component', 'zope.interface', 'zope.schema', ],
The problem is that even though I know I have zope.component 3.3 from my Zope instance, setuptools/buildout doesn't know that and tries to resolve the dependency. It succeeds with Zope 3.4's zope.component, which then causes runtime conflicts and subtle problems all over the place.
I think what I need is some way of saying "all of these dependencies are already resolved, don't try to get them as new eggs". Is that possible? Is there another way I can manage this?