<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>