On 26.10.19 22:09, Rebecca N. Palmer wrote:
What should be done with modules where Python 3.8 compatibility requires moving
to a new upstream release that doesn't support Python 2, but the Python 2
package still has dependencies (so can't be removed yet under existing rules)?
- Split them into two source packages with different upstream versions, as was
done for matplotlib and numpy?
- Remove the Python 2 package anyway?
- Let them be broken in Python 3.8 for now?
e.g. pandas dropped python2 support in 0.25.0, and gained python3.8 support in
0.25.2:
https://github.com/pandas-dev/pandas/issues/29043
yes, that will be an ongoing problem, I see the same for pillow (latest 2.7
supporting release is 6.2.1) and numpy (1.16 not supporting 3.8, and 1.17 not
supporting 2.7).
Ubuntu got pandas 0.23 to build with python3.8, but only by ignoring 268 test
failures (I haven't yet had time to assess their severity):
https://bugs.launchpad.net/ubuntu/+source/pandas/+bug/1849374
https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-focal/focal/amd64/p/pandas/20191024_181815_7c017@/log.gz
yes, https://bugs.launchpad.net/bugs/1849374 documents where I ignored test
results for a first build, and numpy test results are ignored as well due to a
packaging bug.
Ubuntu already dropped python-pandas, I wasn't involved with that. So this
should be possible to do. Please ask Steve Langasek for details. In the case
for pandas it should be possible to remove it now with some work, avoiding a
second Pandas source.
Having a first build in the archive allows you to get more packages built, and
more people working on the stack. For example the whole astropy stack builds and
passes tests (except astropy itself). So there is value. Lets enable to build
stuff first for 3.8 as a supported non-default option.