Hi,

My colleagues Tomáš Hrnčiar and Miro Hrončok made good progress on
updating Python 3.10 to Python 3.11 in Fedora, but some specific
Python 3.11 incompatible changes are causing more troubles than
others:
https://discuss.python.org/t/experience-with-python-3-11-in-fedora/12911

We propose to revert the following 2 changes in Python 3.11 and
postpone them in a later Python version, once most projects will be
compatible with these changes:

* Removal of unittest aliases (bpo-45162): it broke 61 Fedora packages
* Removals from configparser module (bpo-45173) - broke 28 Fedora packages

--

We reported the issue to many affected projects, or when possible, we
also wrote a pull request to make the code compatible (lot of those
were made by others, e.g. Hugo van Kemenade, thank you!).

The problem is that fixing a Fedora package requires multiple steps:

* (1) Propose a pull request upstream
* (2) Get the pull request merged upstream
* (3) Wait for a new release upstream
* (4) Update the Fedora package downstream, or backport the change in
Fedora (only needed by Fedora)

Identifying the Python incompatible changes causing most troubles took
us a lot of time, but we did this work. Reverting the two Python 3.11
incompatible changes (causing most troubles) will save us "bug triage"
time, to get more time on updating projects to Python 3.11 for the
other remaining incompatible changes.

We are not saying that these incompatible changes are bad, it's just a
matter of getting most projects ready before Python 3.11 final will be
released.

--

By the way, before making a change known to be incompatible, it would
be nice to run a code search on PyPI top 5000 projects to estimate how
many projects will be broken, and try to update these projects
*before* making the change.

For example, only introduce an incompatible change into Python once
less than 15 projects are affected. Getting a pull request merged is
nice, but a release including the fix is way better for practical
reasons: people use "pip install <project name>".

--

Fedora work on Python 3.11 is public and tracked at:
https://bugzilla.redhat.com/show_bug.cgi?id=PYTHON3.11

Click on "depends on" to see current issues:
https://bugzilla.redhat.com/buglist.cgi?bug_id=2016048&bug_id_type=anddependson&format=tvp

Example of bz #2025600: mom fails to build with Python 3.11:
AttributeError: module 'configparser' has no attribute
'SafeConfigParser'.


Victor Stinner -- in the name of the Python Red Hat / Fedora maintenance team
-- 
Night gathers, and now my watch begins. It shall not end until my death.
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/GJTREADEXYAETECE5JDTPYWK4WMTKYGR/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to