On Jul 13, 2020, at 11:36, Matthias Klose <doko@ubuntu.com> wrote:
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.
Before we can think about deprecating, we need to have a plan that has been reviewed and approved. Removing Distutils is a major change on the cpython side. My comment on https://bugs.python.org/issue41282 "Deprecate and remove distutils" "So what is the plan to continue to support building cpython itself which depends on Distutils? Currently the build bootstraps itself without the aid of an existing Python interpreter instance. There would also be major impacts across the whole cpython development process. For example, there are many open Distutils issues in the bugs.python.org bug tracker. We need a plan on how those are to be handled (and that should take into account the expected transition from b.p.o to GitHub issues). People will continue to submit issues agains Distutils there so triage team members and core developers need to know how to handle such issues. What if an issue applies also or only to a previous release branch (i.e. where Distutils is still in the repo)? What about Distutils documentation in the Python docset? THose are just some off the top of my head. I don't think any of these issues are necessarily blockers but they need to be planned for and reviewed. I think a PEP is definitely in order for a change of this magnitude." -- Ned Deily nad@python.org -- []