<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 27, 2015 at 11:35 PM, Juan Nunez-Iglesias <span dir="ltr"><<a href="mailto:jni.soma@gmail.com" target="_blank">jni.soma@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span><div>Can someone here who understands more about distribution maybe write a blog post detailing:</div>
<div><br></div>
<div>- why these setup.py commands are bad</div>
<div>- which alternative corresponds to each command and why it's better</div>
<div>- where to find information about this</div></span></blockquote><div><br></div><div>Good question. Not that I have a blog, but I can try to write something a bit longer the coming weekend.<br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span>
<div><br></div>
<div>For example, I had never heard of "twine", and parenthetical statements such as "<span style="color:rgb(73,79,80);font-family:".AppleSystemUIFont"">setup.py upload (which is broken and should never be used)" are useless to those who don't know this and useless to those who do.</span>
</div>
</span></blockquote><div><br></div><div>IIRC `setup.py upload` sends passwords over plain http. I've also seen it do weird things like change one's own PyPi rights from maintainer to owner.<br><br></div><div>The most comprehensive overview of all this stuff is <a href="https://packaging.python.org/en/latest/">https://packaging.python.org/en/latest/</a>, which starts with tool recommendations. Twine is one of the first things mentioned.<br><br></div><div>Ralf<br><br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span>
<div><span style="color:rgb(73,79,80);font-family:".AppleSystemUIFont"">I understand that this is an "internal" discussion, but it's nice if those following to learn can get quick pointers. Since there is a *ton* of material online telling us *to use* python setup.py install, all the time, it would be extremely helpful for the community if discussions such as this one helped to bubble up the Right Way of doing Python packaging and distribution.</span></div>
<div><span style="color:rgb(73,79,80);font-family:".AppleSystemUIFont""><br></span></div>
<div><span style="color:rgb(73,79,80);font-family:".AppleSystemUIFont"">Thanks,</span></div>
<div><span style="color:rgb(73,79,80);font-family:".AppleSystemUIFont""><br></span></div>
<div><span style="color:rgb(73,79,80);font-family:".AppleSystemUIFont"">Juan.</span></div>
<div><span style="color:rgb(73,79,80);font-family:".AppleSystemUIFont""><br></span></div></span><div class=""><div class="h5"><div>
<br><br></div>
<br><br><div class="gmail_quote"><p>On Wed, Oct 28, 2015 at 9:16 AM, Ralf Gommers <span dir="ltr"><<a href="mailto:ralf.gommers@gmail.com" target="_blank">ralf.gommers@gmail.com</a>></span> wrote:<br></p><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div dir="ltr">
<br><div class="gmail_extra">
<br><div class="gmail_quote">On Tue, Oct 27, 2015 at 8:19 AM, Ralf Gommers <span dir="ltr"><<a href="mailto:ralf.gommers@gmail.com" target="_blank">ralf.gommers@gmail.com</a>></span> wrote:<br><div><br></div>
<div>Updating this list for comments made after I sent it and now that I've looked in more detail at what the less common commands do:<br> <br></div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div>So if/when we accept the proposal in this thread, I'm thinking we should make a bunch of changes at once:<br></div>
<div>- always use setuptools (this is a new dependency)<br></div>
<div>- error on ``python setup.py install``<br></div>
</div></div></div></blockquote>
<div><br></div>
<div>(removed the item about setup_requires, relevant for scipy but not numpy)<br> <br></div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div></div>
<div>- error on ``python setup.py clean`` (saying "use `git clean -xdf` (or -Xdf ...) instead")<br></div>
<div>- change ``python setup.py --help`` to first show numpy-specific stuff before setuptools help info<br></div>
<div>- update all our install docs<br></div>
</div></div></div></blockquote>
<div> <br>- error on ``python setup.py upload`` (saying "use `twine upload -s` instead")<br></div>
<div>- error on ``python setup.py upload_docs``<br></div>
<div>- error on ``python setup.py easy_install`` (I'm not joking, that exists)<br>- error on ``python setup.py test`` (saying "use `python runtests.py` instead")<br></div>
<div>- remove setupegg.py<br><br></div>
<div>Ralf<br></div>
<div><br></div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div></div>
<div>And when "pip upgrade" is released (should be soon, see <a href="https://github.com/pypa/pip/pull/3194" target="_blank">https://github.com/pypa/pip/pull/3194</a>), officially change our mind and recommend the use of install_requires/setup_requires to packages depending on numpy.<span><font color="#888888"><br></font></span>
</div>
<span><font color="#888888"><div><br></div></font></span>
</div></div></div>
</blockquote>
</div>
<br></div>
</div></div></blockquote></div><br></div></div><br>_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
<a href="https://mail.scipy.org/mailman/listinfo/numpy-discussion" rel="noreferrer" target="_blank">https://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
<br></blockquote></div><br></div></div>