Fedora has 99% upgrade packages from Python 2 to Python 3

From January 1, 2020, Python Software Foundation which aims to promote, protect and improve the Python programming language and to support and facilitate the growth of the international community of Python developers completion support for Python 2.7.

From that date, Python 2.x no longer benefits from any updates, not even from the PSF base security fixes, so for a long time has been prompting all developers to switch to Python 3 at the risk of ending up with intractable Python 2.x problems or glitches that could ruin your Python 2-based projects.

Despite the warnings and recommendations issued by the PSF, as well as Guido van Rossum, the creator of the Python programming language, many projects are still based on the 2.x versions of the Python programming language.

For developers, the reasons are various. Some claim they inherited a code base written in Python 2 and updating that code would mean rewriting everything, which would be difficult to achieve.

For others, they remain attached to Python 2 due to certain inconveniences that they attribute to version 3 of the language such as slowness, the handling of packages that would be a nightmare, the poor implementation of Unicode, etc. For others, it would be just a matter of preference, as they are more comfortable with Python 2 than Python 3.

While some developers persist in integrating Python 2 into their projects, Red Hat, which supports Linux distribution "Fedora" is firmly focused on removing packages that work with Python 2 and that until now have been integrated into Fedora, since for several months he has not removed his foot in pressing developers to migrate to Python 3 and remove all those Python 2-based packages.

And it is that in a recent analysis of the packages integrated in the distribution it has shown great progress towards the goal of moving only to Python 3.

In fact, from 4324 packages analyzed in Fedora, 4280 packages only support Python 3 thus this represents a 99% rate of packages that work only with Python 3.

Regarding the remaining packages, 10% of those packages that have not yet migrated to Python 3 and that are still detected in Fedora, can be divided into several groups, among which are:

  • Build dependencies are not yet handled properly.
  • Badly packaged packages
  • Inactive packages
  • Blocked packages
  • Dual Support Packages
  • Python 2 Sheet Subpackages Packages

According to the Fedora maintainers, 29 packages work with Python 2 and have not yet been ported to Python 3. Following this list, we also have 6 packages that are compatible with Python 2 and Python 3.

In addition to these different categories, Fedora developers report that there are certain groups of packages related to dependencies for some reason of incompatibility or migration to Python 3 and they probably forcibly need Python 2.7 on Fedora 32 or higher.

When a package is in this situation, it will need an exception from the FESCo (Fedora Engineering Steering Committee or in French Fedora Engineering Steering Committee that manages the process of accepting new features, maintenance issues and other technical issues related to the Fedora build and distribution) to stay in Fedora.

The packages affected by the latter category are, among others, Chrome browser, GIMP, PostgreSQL database, PyPy, Sugar desktop environment, etc.

While For many developers this Fedora cleanup is more than necessary to move forward, some users of the GNU / Linux distribution feel that it would be worth giving the owners of packages based on Python 2 more time to correct them at the risk of penalizing users of the distribution by removing packages based on Python 2. x.

Finally if you are interested in knowing more about it About parsing performed on Python packages in Fedora, you can check the following link.

And do you think that other Linux distributions should take a similar position to Fedora in terms of pressuring developers to migrate to Python 3?


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.