[Python-Dev] Can Python Be Built Without Distutils

Brett Cannon brett at python.org
Sat Jan 24 17:49:31 CET 2015


On Fri Jan 23 2015 at 5:45:28 PM Gregory P. Smith <greg at krypto.org> wrote:

> On Fri Jan 23 2015 at 11:20:02 AM M.-A. Lemburg <mal at egenix.com> wrote:
>
>> On 23.01.2015 19:48, Matthias Klose wrote:
>> > On 01/23/2015 06:30 PM, Cyd Haselton wrote:
>> >> Related to my earlier question regarding building Python on Android
>> >> and an undefined reference to dlopen error...I have the following
>> >> question:  Is it possible to build and install Python without having
>> >> to build and install...or use...distutils?
>> >>
>> >> Some background:
>> >> I can build the python interpreter on my device, and I can build a
>> >> bunch of modules.  The problem appears when make reaches the part
>> >> where setup.py is used to build and import modules...specifically when
>> >> setup.py attempts to import distutils.core.
>> >
>> > you can do this using Setup.local. This works for me building additional
>> > extensions as builtins.  It might require some tweaking to build
>> everything.
>>
>> You may want to have a look at the Setup files we're using
>> in eGenix PyRun, which uses them to force static builds of the
>> various built-in extensions.
>>
>> Look for these files:
>>
>> PyRun/Runtime/Setup.PyRun-2.7
>> PyRun/Runtime/Setup.PyRun-3.4
>>
>> in the source archives:
>>
>> http://www.egenix.com/products/python/PyRun/
>>
>> > Otoh, I would like to get rid off the setup.py altogether (/me ducks
>> ...).
>>
>> Why ? It's great for finding stuff on your system and configuring
>> everything without user intervention (well, most of the time :-)).
>>
>
> Because our setup.py is a nightmare of arbitrary code run in a linear
> fashion with ad-hoc checks for things that are unlike how any other project
> on the planet determines what is available on your system.  It may have
> seemed "great" when it was created in 2001.  It really shows its age now.
>
> It defeats build parallelism and dependency declaration.
> It also prevents cross compilation.
>
> Building an interpreter with a limited standard library on your build host
> so that you can run said interpreter to have it drive the remainder of your
> build is way more self hosting that we rightfully need to be for CPython.
>

So are you suggesting to add the build rules to configure and the Makefile
-- and Windows build file -- in order to drop setup.py?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20150124/c0b54c12/attachment.html>


More information about the Python-Dev mailing list