Python 3.8 help page
Addition tracker: https://release.debian.org/transitions/html/python3.8.html
Current bugs filed for Python 3.8: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=python3.8;firstname.lastname@example.org
Please usertag new bugs:
User: email@example.com Usertags: python3.8
Common packaging issues
This is a list of things to watch out in in packaging:
- The include path for 3.8 is now /usr/include/python3.8 (without the m modifier). Some packages need adjustment. Lintian should warn about that.
The name for extensions dropped the m modifier as well. Needs adjustment in some .install files. If you have both extensions for the normal interpreter and the debug interpreter, then it becomes tricky to ship the correct extension in the correct package. Just pattern matching on <foo>.cpython*d*.so doesn't make the kfreebsd and hurd maintainers happy. An alternative might be to use pybuild and PYBUILD_NAME=foo, however this usually installs too many files than wanted, and the packaging needs more adjustments.
- The package has a build dependency on python3-all-dev, but doesn't build for all supported Python3 versions.
- The package loops over all supported Python3 versions, but doesn't respect the error code, and only ships extensions for a subset.
- When running tests, pybuild stops after the first Python3 version for failures, so you cannot see if you run in a general issue, or into a 3.8 specific issues. See issue #943334.
Common upstream issues
Deprecation warnings DeprecationWarning: PY_SSIZE_T_CLEAN will be required for '#' formats in expected test results, or on stderr in autopkg tests.
- Trying to modify a dictionary while iterating over it now raises an exception.
- Some upstreams already stopped, or are stopping to support both 2.7 and 3.8 in the same version. In this case, have two source source packages, one building for Python2, the other building for Python3. Already done for numpy and scipy, will be needed for the next pillow release.
- Embedding Python: modules are not linked with libpython3.8 anymore, but programs that embed Python still need to link with it. When configuring such programs, --embed must be passed to python3-configure. Earlier versions of python3-configure do not support this option. Failing that, errors will occur at link-time (usually part of compile-time, but sometimes part of run-time).
Upstream docs: https://docs.python.org/3/whatsnew/3.8.html
Fedora bugs: https://bugzilla.redhat.com/show_bug.cgi?id=1686977
Corresponding Ubuntu tracker: https://people.canonical.com/~ubuntu-archive/transitions/html/python3.8-add.html
Please add ...