[Distutils] Building an egg from Subversion using zc.buildout

Jim Fulton jim at zope.com
Sat Feb 10 18:54:54 CET 2007

On Feb 9, 2007, at 6:49 PM, Phillip J. Eby wrote:

> At 05:26 PM 2/9/2007 -0500, Jim Fulton wrote:
>> > ValueError: ("Couldn't find", Requirement.parse
>> > ('archetypes.kss==dev'))
>> I finally found some time to look into this.
>> Buildout uses setuptools APIs.  It uses a PackageIndex to download
>> the distribution and this actually works.  It then uses an
>> environment best_match method to get a distribution object and
>> best_match returns None.  If I remove the ==dev from the requirement,
>> then best_match is able to find the distribution. This happens
>> because apparently no distributions match a requirement for the "dev"
>> version.  Should I view this as a bug in setuptools?
> The normal usage is "==dev,>=realver" where 'realver' is the real  
> version you want.

Is using just ==dev is correct usage? It works with easy_install.

I think the user's desire is to get the most recent version.  It's  
not clear to me that they'd know what other revision to specify.

>>  Or does buildout
>> need to special case the version "dev"?
> I don't think so.

If ==dev is considered valid and if the environment best_match method  
isn't going to consider it a match against installed distributions,  
then I'll need to  special case it or use some other API.  People  
using buildout are generally going to expect things that work with  
easy_install to work with buildout.

(Note: Buildout uses PackageIndex to locate and fetch distributions.  
It then installs distributions itself.  if the distribution is  
already an egg,  then this is straightforward.  Otherwise, buildout  
invokes easy_install to do the installation.  It can't get a return  
value from easy_install, so it uses an Environment to find the egg  
that easy_install created.)


Jim Fulton			mailto:jim at zope.com		Python Powered!
CTO 				(540) 361-1714			http://www.python.org
Zope Corporation	http://www.zope.com		http://www.zope.org

More information about the Distutils-SIG mailing list