distutils adoption means cygwin-specific patches will be lost

Jason R. Coombs jaraco@jaraco.com
Sat Dec 11 16:19:46 GMT 2021

The Setuptools project is adopting distutils from the Python standard library. It’s doing this to unify the implementation and allow it to evolve again.

In Setuptools 48 and Setuptools 50, Setuptools made the adopted distutils the default (causing “import distutils” to resolve to `setuptools._distutils` and thus bypass any patches that may have been applied to distutils as found in the stdlib) with an escape hatch: by setting SETUPTOOLS_USE_DISTUTILS=stdlib. Due to incompatibilities identified with this ereleases, the behavior of using the local distutils by default was rolled back.

In about a week’s time, Setuptools will make the local distutils the default again. Users can preview the behavior on existing releases by setting SETUPTOOLS_USE_DISTUTILS=local and opt out with the escape hatch.

Until recently, no one from the Cygwin project has reached out, but recently, mkoeppe did mention the concern leading to the filing of https://github.com/pypa/distutils/issues/73.

The Setuptools/distutils project would be happy to facilitate supporting Cygwin in the new environment without monkey patching, either through direct support of the platform or through hooks that allow the platform to customize the behavior (and probably a mix). Please reach out on the issue to uncover any emergent issues and to devise a design for long term support.

Jason R. Coombs

More information about the Cygwin mailing list