Fedora 29 intoduces Python 3.7, which adds numerous new features and optimizations compared to version 3.6, which was the default Python 3 stack in Fedora 28. Notable changes include:
awaitare now reserved keywords.
asynciomodule has received new features and significant usability and performance improvements.
timemodule has gained support for functions with nanosecond resolution.
The unversioned python command from
has been moved into a separate
package. You will get it by default when you install the
package, but you are able to remove it.
python3 command if you need Python 3, and the
python2 command if you need Python 2. The
command continues to mean Python 2, but it is not guaranteed to be present.
See the Change page for detailed information and justification for this change.
virtualenv command now comes from the
python3-virtualenv package, as opposed to earlier releases where
the command was in the
python2-virtualenv. This effectively
switches the command to Python 3; if you run
virtualenv without any
additional options, it will create Python 3 environments. Use
python2.7 to get the previously default behavior.
ansible package in Fedora is switching to use Python 3 by default,
instead of Python 2. See
The current way of automatic Python byte-compiling of files outside Python-specific directories is too magical and error-prone. It is built on heuristics that are increasingly wrong. This change provides a way to opt out of it, and adjusts the guidelines to prefer explicit bytecompilation of such files. Later, the old behavior will either become opt-in only, or cease to exist.
Note that bytecompilation in Python-specific directories
/usr/lib/python3.6/) is not affected.
See the Fedora Wiki change page for detailed documentation.
Multiple package groups have been updated to use
python3 by default
python2. See Distribution-wide
Changes for more information.