<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    my suggestion would be provide a whl_setup.py that works in a
    fashion similar to the current ez_setup<br>
    <br>
    however instead of using easy_install + eggs, it would use pip
    install --target into a folder relative to the setup.py that invoked
    it<br>
    if there was a mechanism to prevent pip from invoking setup.py with
    its stub, that system could even be used to install  more recent
    setuptools itself into the "setup site"<br>
    <br>
    a setup.py would then just use whl_setup to get at setuptools, and
    as a nice extra, it could hijack the install_requirements method of
    a distrbution,<br>
    so pip would be used to install the requirements into the "setup
    site" as well<br>
    <br>
    that way we could get rid of the need for eggs to make
    setup_requires nice, and could just have pip deal with all the
    details<br>
    <br>
    in addition it could bail out on too old pip (after all it needs a
    properly working install target support to provide the "setup site"
    with packages, and a even newer pip version should the
    stub-disabling be implemented)<br>
    <br>
    -- Ronny<br>
    <br>
    <div class="moz-cite-prefix">On 10/21/2015 08:35 PM, Daniel Holth
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAG8k2+4ofQcDf9-KM9pJzTzqQCaN0Z5+LubS_aOuwKnE_HHVSg@mail.gmail.com"
      type="cite">
      <div dir="ltr">Take this setup.py that implements setup
        requirements (requirements needed for setup.py itself to run) <a
          moz-do-not-send="true"
          href="https://bitbucket.org/dholth/setup-requires/src/tip/setup.py"
          target="_blank"><a class="moz-txt-link-freetext" href="https://bitbucket.org/dholth/setup-requires/src/tip/setup.py">https://bitbucket.org/dholth/setup-requires/src/tip/setup.py</a></a>
        <div><br>
        </div>
        <div>Require your new build system using that mechanism, by
          mentioning it in setup.cfg<br>
          <div><br>
          </div>
          <div>Then instead of calling setup() from setuptools at the
            bottom, emulate the setup.py build system interface
            documented at <a moz-do-not-send="true"
href="http://pip.readthedocs.org/en/stable/reference/pip_install/#build-system-interface"
              target="_blank">http://pip.readthedocs.org/en/stable/reference/pip_install/#build-system-interface</a> to
            invoke new build system. Check to make sure whether pip
            accepts .dist-info when calling the egg_info command.</div>
        </div>
        <div><br>
        </div>
        <div>Then write a command for new build system that adds the
          shim setup.py to an sdist.</div>
        <div><br>
        </div>
        <div>Now you have a setup.py that can download and install
          new-build-system and interoperate with pip, without having to
          change pip at all.</div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Distutils-SIG maillist  -  <a class="moz-txt-link-abbreviated" href="mailto:Distutils-SIG@python.org">Distutils-SIG@python.org</a>
<a class="moz-txt-link-freetext" href="https://mail.python.org/mailman/listinfo/distutils-sig">https://mail.python.org/mailman/listinfo/distutils-sig</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>