Mailinglist Archive: opensuse-factory (914 mails)

< Previous Next >
Re: [opensuse-factory] Switching default python to Python 3


On 06/27/2017 05:06 AM, Michael Ströder wrote:
Dominique Leuenberger / DimStar wrote:
I'd like to point to https://www.python.org/dev/peps/pep-0394/ again...

"""The main barrier to a distribution switching the python command from
python2 to python3 isn't breakage within the distribution, but instead
breakage of private third party scripts developed by sysadmins and
other users. Updating the python command to invoke python3 by default
indicates that a distribution is willing to break such scripts with
errors that are potentially quite confusing for users that aren't yet
familiar with the backwards incompatible changes in Python 3."""

is openSUSE *REALLY* the distro that is willing to break user scripts?

I'd vote against this breakage. Especially because it does not fix a real
problem. And
surely nobody is willing to maintain thousands of shee-bang patches.

Sorry, but "voting against" is not sufficient, you'll have to offer a
viable alternative solution, IMHO.

Python 2 is not going to be around forever and for better or worse in
some way or another the interests of openSUSE TW and openSUSE Leap are
tied to SLE. SLE has a 10 year life cycle and having Python 2 as the
default python interpreter in 2028 is not realistic. Thus at some point
the switch needs to be made, which means things will be broken. I hate
when things break as much as the next person. But in the end that is the
decision the Python community made. Therefore we have to deal with it
sooner or later.

Now lets argue a bit about why it may be a good idea to do in TW what
SLE is planning to do.
- Lets say TW stays with Python 2 as the default interpreter, i.e. for
now we don't break anything. But SLE switches to Python 3 as the default
interpreter. Then when openSUSE Leap Next is released it will have the
default interpreter be Python 3. The result is that the distribution
that is being advertised as close to the cutting edge is using an older
interpreter than the distribution that is supposed to be somewhat behind
in the name of stability. Certainly that will create some kind of
perception problem.
- It is inevitable that TW will need to switch the default interpreter
and thus break things. Therefore we might as well do it now.
- Last but not least there is the human factor. We all know how things
go, even if we make a big announcement and say "in one year from today
we will switch to Python 3" 98% of the scripts that will break because
of this will still be in the same state a year from now because people
will not make any changes until things are broken.

Am I happy that things will be broken, NO. But given that this is
inevitable we might as well get over it, there is no time like the present.

Later,
Robert


--
Robert Schweikert MAY THE SOURCE BE WITH YOU
Distinguished Architect LINUX
Team Lead Public Cloud
rjschwei@xxxxxxxx
IRC: robjo
--
To unsubscribe, e-mail: opensuse-factory+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-factory+owner@xxxxxxxxxxxx

< Previous Next >