The deprecation of Python
distutils has been a decade in the making, and is finally being
Setuptools 49.1.2 vendored distutils, but has experienced some
friction in setuptools 50.x
since so many packages
due to the little maintained status of distutils for several years.
With distutils proposed deprecation in Python 3.10,
to setuptools is a topic being worked on by major packages such as Numpy.
Aside from major packages in the Scipy/Numpy stack, I don’t recall many current packages setup.py relying on distutils. However, there is code in some packages using
import distutils that could break.
I applaud the decision to remove distutils from Python stdlib despite the fallout. The fallout is a symptom of the legacy baggage of Python’s packaging. Non-stdlib packages like setuptools are so much more nimble that sorely needed improvements can be made more rapidly.
- bug report leading to PEP632