Mailinglist Archive: opensuse-factory (914 mails)

< Previous Next >
Re: [opensuse-factory] Switching default python to Python 3
On Mon, 2017-06-26 at 15:26 +0200, jan matejek wrote:
Fellow openSUSists,

this has been a long time coming, and I'd now like to start the
actual process of switching the
default Python implementation to Python 3 in Tumbleweed.

I'd like to point to 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?

What else will happen:
* Stuff will break! The breakage will be contained to a testing
project at first.

That will be an interesting project - and breakages will be many, I'm

* note that if a script is using "/usr/bin/python" as shebang (or
worse, "/usr/bin/env python"),
it's already wrong. The shebang must be versioned, unless the
script actually works
with an arbitrary python version

As this has so far not been any rule to enforce, I can ensure you a ton
of fallouts.

zypper se --requires -x /usr/bin/python => this lists 635 items (of
which 211 are source packages).

zypper se --requires -x /usr/bin/env => 747 hits; no analysis done what
those will run behind; could be anything (0 of them are source

Also, if those shebangs are so wrong we definitively need a way to
support our packagers to change it in the shipped .py files - without
having to go out and write 1000 patches for this now. The bare minimum
is a documentation with recommendations on how to easily find, then
change the files.

Followed with rpmlint warnings that can be searched for (once rpmlint
warns, the warnings will show up on

< Previous Next >