[csw-maintainers] Python 2.7

Maciej (Matchek) Bliziński maciej at opencsw.org
Thu Aug 1 17:52:10 CEST 2013


2013/8/1 Peter FELECAN <pfelecan at opencsw.org>
>
> "Maciej (Matchek) Bliziński" <maciej at opencsw.org> writes:
>
> > 2013/8/1 Peter FELECAN <pfelecan at opencsw.org>:
> >>> I'm curious if anyone will object to my idea to drop the dependency on
> >>> the interpreter.
> >>
> >> I'm rather opposed to it as it transgress the fundamental property of
> >> explicit dependency declaration.
> >
> > I understand that your objection is principled rather than pragmatic, right?
>
> I would say a principled pragmatism :-)

I honestly can't think of a realistic failure mode. Somebody forgets
to install the interpreter and expects to use the module? Come on! :-)

> >> This can also create havoc, especially
> >> if a 2.7 module is tried on a 2.6 only installation.
> >
> > I don't know, what exactly do you have in mind? Can you give a concrete example?
>
> If one of the 2.7 modules has code using a set literal, e.g. {'0,'1'}
> instead of set('0','1') it will fail in 2.6

When a module has a piece of code not compatible with the 2.6
interpreter, the module will fail to build and we will not push it
out. We will have to change the module build recipe to only build for
2.7, so if you install the CSWpy- package and try to run import in the
2.6 interpreter, you'll get ImportError.

Will the module work in 2.6? No, but it's by design (by upstream).
Will it wreak havoc? I don't see why it would.

> If one of the 2.6 modules has code using a set literal,
> e.g. set('0','1') instead of {'0,'1'} it will work in 2.7
>
> This is what we call ascendant compatibility, isn't it?

Yes, but I don't see the connection / your reasoning. Let's assume we
have module called foo, with code compatible with 2.6 and 2.7. My
proposed layout is:

CSWpython - install or not install as you wish
CSWpython27 - install or not install as you wish
CSWpy-foo - when you install it, it will work fine with CSWpython (if
installed) and / or CSWpython27 (if installed). If you install both,
it will work with both.

That's all. Everything works as expected. I don't see what's wrong
with this setup.

Maciej


More information about the maintainers mailing list