<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Mar 19, 2015 at 9:45 AM, Tim Smith <span dir="ltr"><<a href="mailto:tim@tim-smith.us" target="_blank">tim@tim-smith.us</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">A way of learning about setup_requires dependencies would be helpful for homebrew-pypi-poet [1], which helps generate Homebrew formulae for applications implemented in Python.</div></div></div></blockquote><div><br></div><div>Indeed -- conda is similar -- it provides a "conda skelton pypi" command, that grabs a package from pypi and (tries to) create a conda build setup for it.</div><div><br></div><div>similarly to brew, the intent is to capture and handle the dependencies with conda's system.</div><div><br></div><div>I don't have anything to do with the development, but I _think_ it actually builds the package in order to then extract the dependency meta-data -- it would be nice to not do that.</div><div><br></div><div>It actually succeeds with a lot of packages without any hand-editing after the fact, to it's not so bad!</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">As Chris Barker notes, --single-version-externally-managed is a good way to get setuptools-based setup.py's to just install the package; --single-version-externally-managed hands the install process over to distutils. Of course, distutils setup.py's do not support the --single-version-externally-managed option. </div></div></blockquote><div><br></div><div>yeah, conda jsut uses plain "setup.py install" by dfault, you have to go in and add --single-version-externally-managed by hand to the build script. Maybe it would be better to add that automatically, and let the few packages that don't use setuptools remove it by hand...</div><div><br></div><div>-CHB</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">To have a consistent CLI interface, Homebrew borrows a shim from pip's source to make sure we always call setuptools.setup() when we run setup.py so that we can hand the install back to distutils: <a href="https://github.com/Homebrew/homebrew/blob/master/Library/Homebrew/language/python.rb#L78-L94" target="_blank">https://github.com/Homebrew/homebrew/blob/master/Library/Homebrew/language/python.rb#L78-L94</a> -- thanks to Donald for pointing to the right place in the pip code.</div></div>
<br>_______________________________________________<br>
Distutils-SIG maillist  -  <a href="mailto:Distutils-SIG@python.org">Distutils-SIG@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/distutils-sig" target="_blank">https://mail.python.org/mailman/listinfo/distutils-sig</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><br>Christopher Barker, Ph.D.<br>Oceanographer<br><br>Emergency Response Division<br>NOAA/NOS/OR&R            (206) 526-6959   voice<br>7600 Sand Point Way NE   (206) 526-6329   fax<br>Seattle, WA  98115       (206) 526-6317   main reception<br><br><a href="mailto:Chris.Barker@noaa.gov" target="_blank">Chris.Barker@noaa.gov</a></div>
</div></div>