Python

The test.support module was relocated

In this release, the test.support module was moved from python3-libs to the python3-test subpackage.

This change aims to discover what packages are dependent on test.support and what parts of this module are useful, and could be moved to the standard library.

Python 2 support was dropped from Sphinx

The packages and sub-packages providing Python 2 support for Sphinx have been removed. See the System Utilities section for details.

Python means Python 3

In package and command names, Python will mean Python 3, that is, users installing and running Python or Python packages without specifying a version will get Python 3. As a result, the name Python will not refer to a software that will be unmaintained upstream for most of Fedora 31’s lifetime and retired from Fedora 32.

Notable new changes include:

  • Running python will run python3.

  • Running pytest will run the Python 3 version of pytest, and similarly for pydoc, pylint, and so on.

  • The dnf install python will install Package-x-generic-16.pngpython3, and similarly for other python-* provides, that is, dnf install python-requests will install Package-x-generic-16.pngpython3-requests.

  • Packages with Python 3 modules will provide the unversioned python- name.

  • The /usr/bin/python command will be a symbolic link to /usr/bin/python3 living in the Package-x-generic-16.pngpython-unversioned-command subpackage of Package-x-generic-16.pngpython3.

  • Python package maintainers need no change, but there are several exceptions, such as:

    • Packages with ambiguous names.

    • Packages with ambiguous provides.

    • Packages with missing %python_provide.

    • Packages with Python versioned commands and tools.

    • Packages that need unversioned Python to be Python 2.

  • Custom scripts with python shebangs will invoke Python 3 by default, whereas previosuly they invoked Python 2 by default.

The final upstream release of Python 2 is planned for January 2020. No further fixes will be made upstream. Most of Fedora 31’s lifetime is after that date. Python 2 will be maintained only by its Fedora maintainers.

Python 3.8 is now available

Version 3.8 of the Python programming language and interpreter is now available in Fedora. You can install it from the python38 package.

Note that the Python stack still uses Python 3.7 by default.

Python 3.8 has also been released as an asynchronous update for Fedora 30 and 29.

For more information, see: