<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    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.<br>
    <br>
    <div class="moz-cite-prefix">03.05.2016, 21:26, Leonardo Rochael
      Almeida kirjoitti:<br>
    </div>
    <blockquote
cite="mid:CAMxX_oO-QKsTmyOZJKFkak0oFkMBCQMrD66JR4dow+fEi2LfPA@mail.gmail.com"
      type="cite">
      <div dir="ltr"><br>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">On 3 May 2016 at 15:07, Alex Grönholm
            <span dir="ltr"><<a moz-do-not-send="true"
                href="mailto:alex.gronholm@nextday.fi" target="_blank">alex.gronholm@nextday.fi</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div text="#000000" bgcolor="#FFFFFF"> 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.<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>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.</div>
            <div><br>
            </div>
            <div>For example information on header files coming from the
              C api of `numpy` which is used to build extensions.</div>
            <div><br>
            </div>
            <div>This usually means importing code from the packages in
              "setup requires" before setuptools has a chance to
              actually look at it.</div>
            <div><br>
            </div>
            <div>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.</div>
            <div><br>
            </div>
            <div>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.</div>
            <div><br>
            </div>
            <div>Regards,</div>
            <div><br>
            </div>
            <div>Leo</div>
            <div><br>
            </div>
            <div><br>
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div text="#000000" bgcolor="#FFFFFF">
                <div>03.05.2016, 21:04, Daniel Holth kirjoitti:<br>
                </div>
                <blockquote type="cite">
                  <div dir="ltr">
                    <div>
                      <div>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.</div>
                    </div>
                    <div><br>
                    </div>
                    <div>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.</div>
                    <div><span style="line-height:1.5"><br>
                      </span></div>
                    <div><span style="line-height:1.5">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.</span></div>
                    <br>
                    <div class="gmail_quote">
                      <div dir="ltr">On Tue, May 3, 2016 at 1:11 PM Paul
                        Moore <<a moz-do-not-send="true"
                          href="mailto:p.f.moore@gmail.com"
                          target="_blank">p.f.moore@gmail.com</a>>
                        wrote:<br>
                      </div>
                      <blockquote class="gmail_quote" style="margin:0 0
                        0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex">On 3 May 2016 at 17:47,
                        Donald Stufft <<a moz-do-not-send="true"
                          href="mailto:donald@stufft.io" target="_blank">donald@stufft.io</a>>

                        wrote:<br>
                        > It will likely get decided as part of the
                        build system PEP, whenever that<br>
                        > gets picked up again.<br>
                        <br>
                        Yes, but on 15th March<br>
                        (<a moz-do-not-send="true"
href="https://mail.python.org/pipermail/distutils-sig/2016-March/028457.html"
                          rel="noreferrer" target="_blank">https://mail.python.org/pipermail/distutils-sig/2016-March/028457.html</a>)<br>
                        Robert posted<br>
                        <br>
                        > Just to set expectations: this whole
                        process seems stalled to me; I'm<br>
                        > going to context switch and focus on things
                        that can move forward.<br>
                        > Someone please ping me when its relevant to
                        put effort in again :).<br>
                        <br>
                        And I think that's right. The whole build system
                        PEP issue appears<br>
                        stalled from a lack of someone willing (or with
                        the time) to make a<br>
                        call on the approach we take.<br>
                        <br>
                        As far as I'm aware, the decision remains with
                        Nick. With the possible<br>
                        exception of Donald's proposal (which AFAIK
                        never got formally<br>
                        published as a PEP) everything that can be said
                        on the other proposals<br>
                        has been said, and the remaining differences are
                        ones of choice of<br>
                        approach rather than anything affecting
                        capabilities. (Robert's<br>
                        message at <a moz-do-not-send="true"
href="https://mail.python.org/pipermail/distutils-sig/2016-March/028437.html"
                          rel="noreferrer" target="_blank">https://mail.python.org/pipermail/distutils-sig/2016-March/028437.html</a><br>
                        summarised the state of the 3 proposals at the
                        time).<br>
                        <br>
                        I think this is something that should be
                        resolved - we don't appear to<br>
                        be gaining anything by waiting, and until we
                        have a decision on the<br>
                        approach that's being taken, we aren't going to
                        get anyone writing<br>
                        code for their preferred option.<br>
                        <br>
                        Nick - do you have the time to pick this up? Or
                        does it need someone<br>
                        to step up as BDFL-delegate? Robert, Nathaniel,
                        do you have time to<br>
                        spend on a final round of discussion on this, on
                        the assumption that<br>
                        the goal will be a final decision at the end of
                        it? Donald, do you<br>
                        have the time and interest to complete and
                        publish your proposal?<br>
                        <br>
                        Paul<br>
                        _______________________________________________<br>
                        Distutils-SIG maillist  -  <a
                          moz-do-not-send="true"
                          href="mailto:Distutils-SIG@python.org"
                          target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:Distutils-SIG@python.org">Distutils-SIG@python.org</a></a><br>
                        <a moz-do-not-send="true"
                          href="https://mail.python.org/mailman/listinfo/distutils-sig"
                          rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/distutils-sig</a><br>
                      </blockquote>
                    </div>
                  </div>
                  <br>
                  <fieldset></fieldset>
                  <br>
                  <pre>_______________________________________________
Distutils-SIG maillist  -  <a moz-do-not-send="true" href="mailto:Distutils-SIG@python.org" target="_blank">Distutils-SIG@python.org</a>
<a moz-do-not-send="true" href="https://mail.python.org/mailman/listinfo/distutils-sig" target="_blank">https://mail.python.org/mailman/listinfo/distutils-sig</a>
</pre>
                </blockquote>
                <br>
              </div>
              <br>
              _______________________________________________<br>
              Distutils-SIG maillist  -  <a moz-do-not-send="true"
                href="mailto:Distutils-SIG@python.org">Distutils-SIG@python.org</a><br>
              <a moz-do-not-send="true"
                href="https://mail.python.org/mailman/listinfo/distutils-sig"
                rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/distutils-sig</a><br>
              <br>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>