No, setuptools parses the install requirements before acting on setup requirements. That is the source of the problem. If setuptools only parsed and acted on setup requirements before even parsing install requirements, this wouldn't be an issue.

03.05.2016, 21:26, Leonardo Rochael Almeida kirjoitti:


On 3 May 2016 at 15:07, Alex Grönholm <alex.gronh...@nextday.fi <mailto:alex.gronh...@nextday.fi>> wrote:

    Having setuptools process the setup requirements before parsing
    install requirements would be a good step forward. Had that been
    done before, we could've just added a setup requirement for a
    newer setuptools to enable PEP 508 conditional requirements.


Setuptools does process setup requirements before install requirements. The "chicken and egg" issue with setuptools is that, most of the time, setup requires are needed to calculate information that is passed into the `setup()` call itself.

For example information on header files coming from the C api of `numpy` which is used to build extensions.

This usually means importing code from the packages in "setup requires" before setuptools has a chance to actually look at it.

A simple fix would be to allow `setup()` keywords to accept functions as well as direct values and only invoke the functions when the values are actually needed, but this idea never gained traction.

Of course, even if this was implemented, it wouldn't help directly with "setup requiring" a new version of setuptools itself, unless setuptools detected this situation and reinvoked setup.py from scratch.

Regards,

Leo


    03.05.2016, 21:04, Daniel Holth kirjoitti:
    We did separate build from install. Now we just want to be able
    to build without [having to emulate] distutils; just having some
    dependencies installed before setup.py runs would also be a great
    boon.

    I'm reading part of this conversation as "a simple bdist_wheel
    bug is a reason to do a lot of work standardizing file formats"
    which I find unfortunate.

    If he is still up for it let Robert implement his own PEP as the
    way forward for build system abstraction. The extra PEPs are just
    delaying action.

    On Tue, May 3, 2016 at 1:11 PM Paul Moore <p.f.mo...@gmail.com
    <mailto:p.f.mo...@gmail.com>> wrote:

        On 3 May 2016 at 17:47, Donald Stufft <don...@stufft.io
        <mailto:don...@stufft.io>> wrote:
        > It will likely get decided as part of the build system PEP,
        whenever that
        > gets picked up again.

        Yes, but on 15th March
        (https://mail.python.org/pipermail/distutils-sig/2016-March/028457.html)
        Robert posted

        > Just to set expectations: this whole process seems stalled
        to me; I'm
        > going to context switch and focus on things that can move
        forward.
        > Someone please ping me when its relevant to put effort in
        again :).

        And I think that's right. The whole build system PEP issue
        appears
        stalled from a lack of someone willing (or with the time) to
        make a
        call on the approach we take.

        As far as I'm aware, the decision remains with Nick. With the
        possible
        exception of Donald's proposal (which AFAIK never got formally
        published as a PEP) everything that can be said on the other
        proposals
        has been said, and the remaining differences are ones of
        choice of
        approach rather than anything affecting capabilities. (Robert's
        message at
        https://mail.python.org/pipermail/distutils-sig/2016-March/028437.html
        summarised the state of the 3 proposals at the time).

        I think this is something that should be resolved - we don't
        appear to
        be gaining anything by waiting, and until we have a decision
        on the
        approach that's being taken, we aren't going to get anyone
        writing
        code for their preferred option.

        Nick - do you have the time to pick this up? Or does it need
        someone
        to step up as BDFL-delegate? Robert, Nathaniel, do you have
        time to
        spend on a final round of discussion on this, on the
        assumption that
        the goal will be a final decision at the end of it? Donald,
        do you
        have the time and interest to complete and publish your proposal?

        Paul
        _______________________________________________
        Distutils-SIG maillist  - Distutils-SIG@python.org
        <mailto:Distutils-SIG@python.org>
        https://mail.python.org/mailman/listinfo/distutils-sig



    _______________________________________________
    Distutils-SIG maillist  -Distutils-SIG@python.org 
<mailto:Distutils-SIG@python.org>
    https://mail.python.org/mailman/listinfo/distutils-sig


    _______________________________________________
    Distutils-SIG maillist  - Distutils-SIG@python.org
    <mailto:Distutils-SIG@python.org>
    https://mail.python.org/mailman/listinfo/distutils-sig



_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to