[Distutils] Expectations on how pip needs to change for Python 3.4
ncoghlan at gmail.com
Wed Jul 17 13:56:18 CEST 2013
On 17 July 2013 20:00, Oscar Benjamin <oscar.j.benjamin at gmail.com> wrote:
> On 17 July 2013 00:56, Donald Stufft <donald at stufft.io> wrote:
>> On Jul 16, 2013, at 1:36 PM, Matthias Klose <doko at ubuntu.com> wrote:
>> 5. Support cross-compilation of extensions by default.
>> TBH I don't know how much of this has anything to do with pip? As far as
>> compiling goes all pip does is call setup.py install so people are compiling
>> with either setuptools or distutils.
> I'm not involved in the current packaging work so someone else can
> correct me if I'm wrong but:
> What I'm really looking forward to as a result of all of this work on
> wheels and packaging metadata is that there will no longer be any need
> for people to use either setuptools or distutils to compile anything.
> Once this work is ready it will be possible for developers to build
> wheels using whatever tools they like and then upload them to pypi.
> pip will be able to select the appropriate wheel for the end user's
> OS, CPU, Python version etc. and install the binary wheel without
> needing any compiler support on the target system.
> What this means is that it will be possible to do all the compilation
> on developers machines so that the tools to do so don't need to be in
> the stdlib any more. Then someone will be able to release the
> "fancycompiler" package on pypi that will support features like
> cross-compilation, other developers can use it, and the end user
> doesn't need to care how the wheels were made.
Yep, one of the key goals of current package efforts is to decouple
builders from installers so that the developer's choice of build
system has no impact on the end user's choice of installer. However,
as a concession to practical reality, we're continuing with setuptools
as the "official" build system for now, as devising a more tool
neutral metabuild system to replace it will be a significant challenge
in its own right, and we can only sensibly work on so many things at
Cross compilation is one of the things the metabuild system would need
to take into account, which is one of the reasons it has been deferred
(see http://www.python.org/dev/peps/pep-0426/#metabuild-system - that
draft design *doesn't* handle cross compilation at all)
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
More information about the Distutils-SIG