[Catalog-sig] critical pypi registration issue

Richard Jones richard at python.org
Tue Oct 2 02:47:44 CEST 2012


On 2 October 2012 09:31, Michael Bayer <mike_mp at zzzcomputing.com> wrote:
> I was asked to draw attention to this sourceforge issue, detailing a blocking 500 error that is preventing me from releasing SQLAlchemy 0.7.9:
>
> https://sourceforge.net/tracker/index.php?func=detail&aid=3573564&group_id=66150&atid=513503
>
> if anyone has insight on this issue, let me know.  Thanks !

I've fixed the problem. It was related to my recent switch to using
the new distutils2 version comparison code over the older distutils
code:

>>> from distutils.version import LooseVersion as V
>>> sorted([V('1.0'), V('1.0a1'), V('1.1'), V('1.1rc1')])
[LooseVersion ('1.0'), LooseVersion ('1.0a1'), LooseVersion ('1.1'),
LooseVersion ('1.1rc1')]

>>> from distutils2.version import NormalizedVersion as V
>>> sorted([V('1.0'), V('1.0a1'), V('1.1'), V('1.1rc1')])
[NormalizedVersion('1.0a1'), NormalizedVersion('1.0'),
NormalizedVersion('1.1rc1'), NormalizedVersion('1.1')]

Anyhoo, it seems there's a bug in the handling of versions including
"post" like "1.0.1.post1" where the str()ification of the
NormalizedVersion would add on an extra ".z" on the end (a by-product
of the sorting mechanism.)

I modified PyPI to work around the problem, and have now also filed a
bug against distutils2 with a patch implementing a test and fix for
the problem.


     Richard


More information about the Catalog-SIG mailing list