Gary Poster wrote:

In the simplest case:

allowed-eggs-from-site-packages =

That means you don't allow any eggs from site packages. So, this means that if one of your direct or indirect dependencies is docutils, and docutils is installed as an egg in your system, when the eggs for your buildout are assembled, the system egg will be ignored, and buildout will go on the hunt for one someplace else. The typical result is that the egg that it finds will be earlier in the site path, so it has precedence in scripts and so on.

Ah, OK :-)

Alternatively, consider this.
allowed-eggs-from-site-packages =
    lxml

That is, you only allow the lxml egg from site packages. All the rest will be ignored, as per the description above.

Hmm, okay, but what ensures the version of lxml found in site packages doesn't match the one required by the buildout?

allowed-eggs-from-site-packages
    This option interacts with the ``include-site-packages`` option in the
    following ways.

    If ``include-site-packages`` is true, then
``allowed-eggs-from-site-packages`` filters what eggs from site-packages may be chosen.

Cool :-)

    If ``include-site-packages`` is false, the value of
    ``allowed-eggs-from-site-packages`` is irrelevant.

I'd suggest an exception should even be raised in this case...

The next simplest answer is to use the new "include-site-packages = false" option. That's a tiny bit like using a virtualenv for your buildout, in that you are using the system executable but a clean site-packages.

Yep, this we like :-)

cheers,

Chris

--
Simplistix - Content Management, Batch Processing & Python Consulting
           - http://www.simplistix.co.uk
_______________________________________________
Distutils-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to