On 7/13/20 4:26 PM, Paul Ganssle wrote: > I don't think setuptools actually /does/ rely on the distutils from the > standard library. > > One of the first things setuptools does is replace the distutils module > in sys.modules with setuptools._distutils > <https://github.com/pypa/setuptools/blob/37d81f4ce8f08c4baf44b6ff0f3f1bd3f6b2a127/setuptools/__init__.py#L7>. > Anywhere else in the codebase that you see any variation on import > distutils, you /should/ get code exclusively from setuptools._distutils. > > I believe we're disconnecting from distutils and replacing it. I think > we should be able to deprecate distutils in Python 3.10. I don't think > there's ever been explicit agreement on this point, but my understanding > is that we're planning on moving everything from the distutils namespace > into setuptools (and we're in the very long and drawn-out process of a > massive widdling-down of the functions setuptools / distutils provides, > so you can rest assured we'll be deprecating the pointless stuff).
what I want to avoid is that imports like distutils.spawn.find_executable are just replaced by setuptools._distutils.spawn.find_executable. From my point of view it doesn't make sense to replace a bad usage with another bad usage. Maybe it's worth to mention the distutils deprecation for 3.10 already in 3.9, so people will have more time to adopt. Matthias > > Best, > Paul > > On 7/13/20 9:57 AM, Matthias Klose wrote: >> On 7/3/20 5:18 PM, Jason R. Coombs wrote: >>> I’m pleased to announce the release of Setuptools 48, which adopts the >>> distutils codebase from CPython per >>> pypa/setuptools#417<https://github.com/pypa/setuptools/issues/417> and >>> pypa/packaging-problems#127<https://github.com/pypa/packaging-problems/issues/127>. >>> >>> Given the amount of change this effort involved, it’s likely unstable and >>> thus the major version bump. Please report issues at the Setuptools issue >>> tracker. I’ll be around today (IRC, Gitter, Slack) to either disable the >>> functionality or add an escape hatch if needed. >> Thanks for doing that! >> >> At the Python language summit in 2018, I proposed to deprecate and maybe >> remove >> distutils from CPython. When looking at setuptools 49.3, I see that >> setuptools/_distutils still relies on distutils as distributed in CPython. Is >> this really wanted? I see distutils / setuptools mostly as a build time >> tool, >> which doesn't have to be installed at runtime, that's why you have a separate >> binary package in Debian/Ubuntu, called python3-setuptools. >> >> Examples for unexpected / creative usages, which are unrelated to building a >> package are: >> >> - distutils.version >> Used “everywhere”, moved back to the python package in Debian/Ubuntu. >> This maybe should be replaced by using distlib.version. >> >> - distutils.spawn: find_executable >> Replace with shutil.which, this can definitely go, because there's >> a replacement in the Python3 standard library, and starting with >> 48.x, setuptools only targets Python3. >> >> - distutils.util: strtobool >> Rewrite, no equivalent in the stdlib? >> >> - distutils.sysconfig: >> Mostly replaced by sysconfig >> >> Maybe I'm missing something, but as I currently see setuptools it has to >> follow >> CPython's ongoing changes in distutils, without an option to deprecate >> distutils >> any time soon, and it still provides things which from my point of view, it >> shouldn't provide. >> >> Matthias >> -- >> Distutils-SIG mailing list -- distutils-sig@python.org >> To unsubscribe send an email to distutils-sig-le...@python.org >> https://mail.python.org/mailman3/lists/distutils-sig.python.org/ >> Message archived at >> https://mail.python.org/archives/list/distutils-sig@python.org/message/NXR4ZWO23FWDAN65ZFOPORLHU44ARS2V/ > > > -- > Distutils-SIG mailing list -- distutils-sig@python.org > To unsubscribe send an email to distutils-sig-le...@python.org > https://mail.python.org/mailman3/lists/distutils-sig.python.org/ > Message archived at > https://mail.python.org/archives/list/distutils-sig@python.org/message/45DAK4HPPQ4KYDIH2CZT3NC3H5BTKGXZ/ > -- Distutils-SIG mailing list -- distutils-sig@python.org To unsubscribe send an email to distutils-sig-le...@python.org https://mail.python.org/mailman3/lists/distutils-sig.python.org/ Message archived at https://mail.python.org/archives/list/distutils-sig@python.org/message/UY4IFTWXGKYPN3VXM2YTOTORX6W4KPWS/