Hi, As some of you may know, using lxml on OSX is a big pain because of an incompatible system version of libxml2. The solution is to ship binary eggs, which we already do for Windows. Now, as a first test, Stefan has uploaded this egg: lxml-2.2.1-py2.4-macosx-10.5-i386.egg See http://pypi.python.org/pypi/lxml/2.2.1 Now, I'm on OSX 10.5, and I've requested this exact version. In a virtualenv, this works. It downloads the given binary egg. In a buildout, it's preferring to download and build the egg itself, and it calls it lxml-2.2.1-py2.4-macosx-10.3-i386.egg. That's weird, because this machine has never had OSX 10.3 on it. :( My Python 2.4.6 is installed via darwinports. Now, I can probably work around this, but we're trying to ensure that people have a sane lxml egg that will install cleanly on a number of platforms. It's therefore pretty important that the average user doesn't get this. So, I'd like to try and figure out what's going on. How does buildout decide which egg to look for? Why is easy_install in a virtualenv behaving differently to my buildout? Martin -- Author of `Professional Plone Development`, a book for developers who want to work with Plone. See http://martinaspeli.net/plone-book