[Distutils] easy_install: custom package indexes

Phillip J. Eby pje at telecommunity.com
Wed Aug 10 22:42:33 CEST 2005

At 01:15 PM 8/10/2005 -0500, Ian Bicking wrote:
>I have a custom package index that lists some Subversion repositories at
>http://pythonpaste.org/package_index.html ; I'm just looking for a
>little feedback on best practices.  For instance, here is a link:
>(note that there's a small bug in setuptools that'll keep these from
>working at the moment, but putting that aside...)

Does urllib2 barf on fragment identifiers?  I'm surprised.

>Should that look like #egg=SQLObject-DEV ?


>   Or something else?


I like these easy questions.  :)

See also the CVS version of setuptools.txt, which touches on these matters 
under the heading "Making your package available for EasyInstall".

>  I think
>that tag will get ignored later in the process; should I modify setup.py
>(or setup.cfg) in some way to install the subversion checkout with an
>appropriate version number?

Well, you can put this in setup.cfg to do that:

     tag_svn_revision = 1

>If that package_index.html is added with --find-links (or added to
>~/.pydistutils.cfg or elsewhere) then the subversion version will always
>be installed when no version is given in the package specifier
>("easy_install.py SQLObject").  I don't know if that's right.

'DEV' is a lower version number than zero, in pkg_resources' versioning 
scheme, so if there's a better version available via --find-links, it will 
get picked unless you express a preference for source (--editable) or you 
specify DEV as the version you want.  However, if you don't include any 
binary links in --find-links, then yes, you'll always end up with the 
development version.

Simple solution: make your package index page also include binary links or 
a source package link.  These take precedence over checkout links.

More information about the Distutils-SIG mailing list