Opened 22 months ago

Last modified 3 months ago

#31295 new task

Meta-ticket: Replace imports from deprecated distutils

Reported by: Matthias Köppe Owned by:
Priority: critical Milestone: sage-9.8
Component: python3 Keywords:
Cc: Frédéric Chapoton, François Bissey, Gonzalo Tornaría Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by Tobias Diez)

distutils is marked deprecated in Python 3.10, 3.11 - see https://www.python.org/dev/peps/pep-0632/ and https://setuptools.pypa.io/en/latest/deprecated/distutils-legacy.html?, which also lists some replacements

Tickets:

  • #30912 - switches sagelib setup.py from distutils to setuptools
  • #30984 sage_setup: Replace imports from distutils by setuptools
  • #31349 sage.misc.cython: Replace imports from distutils by setuptools
  • #31335 homebrew: Unused packages (singular, pari, ...) in /usr/local leak into sagelib build via distutils.cfg -- configures setuptools to use its vendored distutils instead of stdlib distutils
  • #32565 sage.features.Executable: Remove global imports from distutils
  • #32873 sage.features, sage_setup: Replace use of distutils.errors by setuptools
  • #33065 Remove use of distutils.log
  • #33137

Other issues:

  • As we switch from distutils to setuptools for extension building, the tests for working distutils in python3/spkg-configure.m4 are no longer meaningful

Change History (22)

comment:1 Changed 22 months ago by Matthias Köppe

Description: modified (diff)

comment:2 Changed 22 months ago by Matthias Köppe

Description: modified (diff)

comment:3 Changed 22 months ago by Matthias Köppe

Description: modified (diff)

comment:4 Changed 22 months ago by Matthias Köppe

Cc: François Bissey added

comment:5 Changed 22 months ago by Matthias Köppe

Description: modified (diff)

comment:6 Changed 22 months ago by Matthias Köppe

Description: modified (diff)

comment:7 Changed 22 months ago by François Bissey

The plan seems to be for removal in python 3.12. Somewhat connected, does sage depend on python packages that are in a somewhat abandoned state and therefore will just stop being buildable? Do we have some kind of audit?

comment:8 Changed 22 months ago by Matthias Köppe

We just caught one such package that does not work with 3.9 in #31372.

The closest thing we have to an audit is upgrade tickets for python versions in alpha development state, such as #30766.

comment:9 in reply to:  8 Changed 22 months ago by François Bissey

Replying to mkoeppe:

We just caught one such package that does not work with 3.9 in #31372.

The closest thing we have to an audit is upgrade tickets for python versions in alpha development state, such as #30766.

OK, I could have flagged pari_jupyter earlier, but I am more worried about packages sage_lib depends on. pari_jupyter not working is probably affecting a very small number of users and not an obstacle to sage itself. I guess in the back of my mind I see cysignals going out of maintenance since Jeroen disappeared. cypari has somewhat been rescued but could also be a concern.

comment:10 Changed 22 months ago by Matthias Köppe

cysignals is likely going to be the biggest problem at some point. I see hints of trouble in #31350 (Julia package providing Sage) already

comment:11 Changed 17 months ago by Matthias Köppe

Milestone: sage-9.4sage-9.5

comment:12 Changed 14 months ago by Matthias Köppe

Description: modified (diff)

comment:13 Changed 13 months ago by Matthias Köppe

Priority: majorcritical

comment:14 Changed 13 months ago by Matthias Köppe

Description: modified (diff)

comment:15 Changed 11 months ago by Matthias Köppe

Description: modified (diff)

comment:16 Changed 11 months ago by Matthias Köppe

Description: modified (diff)

comment:17 Changed 11 months ago by Matthias Köppe

Milestone: sage-9.5sage-9.6

comment:18 Changed 11 months ago by Matthias Köppe

Cc: Gonzalo Tornaría added

comment:19 Changed 11 months ago by Matthias Köppe

Description: modified (diff)

comment:20 Changed 8 months ago by Tobias Diez

Description: modified (diff)

comment:21 Changed 7 months ago by Matthias Köppe

Milestone: sage-9.6sage-9.7

comment:22 Changed 3 months ago by Matthias Köppe

Milestone: sage-9.7sage-9.8
Note: See TracTickets for help on using tickets.