[Python-Dev] PEP 291 versus Python 3

Tarek Ziadé ziade.tarek at gmail.com
Tue Nov 30 10:14:20 CET 2010


On Tue, Nov 30, 2010 at 7:33 AM, Éric Araujo <merwok at netwok.org> wrote:
> Good morning python-dev,
>
> PEP 291 (Backward Compatibility for Standard Library) does not seem to
> take Python 3 into account.  Is this PEP only relevant for the 2.7
> branch?*  If it’s supposed to apply to 3.x too, despite the view that
> 3.0 was a clean break, what does it mean to have a module that is
> developed in the py3k branch and should retain compatibility with 2.3 or
> 1.5.2?
>
> * Tarek’s interpretation: “The 2.x needs to stay 2.3 compatible
>  so we should keep the 3.x as similar as possible for bugfixes.”
>
> In the particular case of distutils (should be compatible with 2.3), we
> (including I) have been lax.  Our tests for example use modern unittest
> features like skips, which makes them not runnable on old Pythons.  I am
> very uncomfortable with code that seems to run fine but which tests
> (however few) cannot be run, so I think I’ll have to trade the skips for
> old-style “return” statements.

You shouldn't be uncomfortable with the current state of distutils and
try to improve its tests (or improve any other nasty stuff you'll find
in that code)

Distutils is dead code. All we have to do is the bare minimum
maintenance. Everything else is a waste of time.

> The other way of solving that is to
> change the compat policy.  If I remember correctly, the rationale for
> code compat in distutils is that people may copy distutils from Python
> x.y to their install of x.y-n; I don’t know if this is still an active
> practice, and if it is, I don’t know if it should be supported,
> considering that distutils2 (compatible with 2.4+ and available from
> PyPI) is coming.

Again, don't worry about these rules in Distutils now. The only rule
that now apply to Distutils is that we do only bug fixing, and we
should not waste our precious time to do other stuff in there. Plain
python tests are fine for what we want to do and simplify our forward
ports and backports.  One thing we should do though, is fix those bugs
in Distutils2 first when they exist there too.

I really appreciate all the hard work your are doing in triaging the
issues and bug fixing by the way !

Tarek


More information about the Python-Dev mailing list