[Distutils] Comments on PEP 426

Nick Coghlan ncoghlan at gmail.com
Fri Aug 30 11:18:14 CEST 2013


On 30 Aug 2013 17:23, "Paul Moore" <p.f.moore at gmail.com> wrote:
>
> On 30 August 2013 00:08, Nick Coghlan <ncoghlan at gmail.com> wrote:
>>
>> We also need to officially bless pip's trick of forcing the use of
setuptools for distutils based setup.py files.
>
>
> Do we? What does official blessing imply? We've managed for years without
the trick being "official"...
>
> The main reason it is currently used is to allow setup.py install to
specify --record, so that we can get the list of installed files. If
distutils added a --record flag, for example, I don't believe we'd need the
hack at all. (Obviously, we'd still need setuptools so we could use wheel
to build wheels, but that's somewhat different as it's a new feature).
Maybe a small distutils patch is better than blessing setuptools here?

A distutils patch won't help with Python 2.7 or 3.3. The purpose of
blessing the substitution is to decouple the update cycle of the build
system from the update cycle of the standard library.

(This is a lesson I note even RH acknowledged for RHEL when we first
released the Red Hat Developer Toolset)

It's not just the record flag - it's also about supporting wheel generation
and eventually the metadata 2.0 formats and features.

> Forcing setuptools does break some builds. From when I last tried, for
instance, I believe that cx_Oracle won't build with setuptools forced.
Whose issue should that be? Pip's, setuptools', or cx_Oracle's? (Note that
I'm *not* saying that this is a showstopper, just trying to clarify the
intent here).

Officially blessing replacing distutils with setuptools would strongly push
this case in the direction of being a setuptools bug (since setuptools
generally aims to be a drop in replacement for distutils), without ruling
out a cx_Oracle bug (e.g. if the problem is incompatible monkey patching of
distutils).

pip would be cleared of any blame.

>
> Note - I'm not against blessing pip's hack. But I'd like it to be clear
what such a blessing *means* and why just leaving it as an internal
implementation detail isn't sufficient.

My aim would be to ensure all build systems are free to substitute
setuptools for distutils to get support for new distribution standards on
old versions of Python.

Cheers,
Nick.
>
> Paul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20130830/1471ea87/attachment-0001.html>


More information about the Distutils-SIG mailing list