[Distutils] Preferring final releases

Jim Fulton jim at zope.com
Wed Jul 4 14:29:03 CEST 2007

Currently, when looking for a new release, easy_install and buildout  
look for the newest distributions that satisfy a requirement.  They  
will, for example, prefer a newer development release or preliminary  
release (dev, alpha, beta, or rc) over a final release.  I don't  
think this is a good default policy.

In buildout, I'm going to add an option, prefer-final, to control  
this. If this option is true, then buildout will prefer final  
distributions over non-final distributions.  It will choose the  
latest final version that meets a requirement if there is one.  Maybe  
buildout should make this the default.  (Thoughts?)  In any case,  
since buildout lets people create their own defaults for buildout  
options, people will be able to choose any default they wish.  With  
this option enabled, you'll be able to get a non-final distribution  
by explicitly requiring it.

I think easy_install and setuptools should provide a similar option  
and provide a way (presumably through setup.cfg) to make it the  
default.  For backward compatibility reasons, it may not be possible  
to make this the default policy for setuptools, although, arguably,  
it is a better default.


Note that for buildout, what I said above isn't accurate. :)   
Buildout prefers develop distributions over non-develop  
distributions.  It will currently choose a develop distribution that  
meets a requirement, if there is one.  If prefer-final is enabled,  
then buildout will choose the latest develop distribution that  
satisfies the requirement, if there is one, otherwise, it will pick  
the latest final distribution that meets a requirement, if there is  
one, otherwise, it will pick the latest distribution that meets a  

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