<div dir="ltr"><div dir="auto"><div><div class="gmail_extra"><div class="gmail_quote">On Nov 7, 2017 2:15 PM, "Chris Barker" <<a href="mailto:chris.barker@noaa.gov" target="_blank">chris.barker@noaa.gov</a>> wrote:<br type="attribution"><blockquote class="m_3564972577944503875quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="m_3564972577944503875quoted-text">On Mon, Nov 6, 2017 at 6:14 PM, Charles R Harris <span dir="ltr"><<a href="mailto:charlesr.harris@gmail.com" target="_blank">charlesr.harris@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Also -- if py2.7 continues to see the use I expect it will well past when <a href="http://pyton.org" target="_blank">pyton.org</a> officially drops it, I wouldn't be surprised if a Python2.7 Windows build based on a newer compiler would come along -- perhaps by Anaconda or conda-forge, or ???</div></div></div></div></blockquote><div><br></div></span><div>I suspect that this will indeed happen. I am aware of multiple companies following this path already (building python + numpy themselves with a newer MS compiler).</div></div></div></div></blockquote><div><br></div></span><div>I think Anaconda is talking about distributing a compiler, but what that will be on windows is anyone's guess. When we drop 2.7, there is a lot of compatibility crud that it would be nice to get rid of, and if we do that then NumPy will no longer compile against 2.7. I suspect some companies have just been putting off the task of upgrading to Python 3, which should be pretty straight forward these days apart from system code that needs to do a lot of work with bytes.</div></div></div></div></blockquote><div><br></div></div><div>I agree, and if there is a compelling reason to upgrade, folks WILL do it.  But I've been amazed over the years at folks' desire to stick with what they have! And I'm guilty too, anything new I start with py3, but older larger codebases are still py2, I just can't find the energy to spend a the week or so it would probably take to update everything...</div><div><br></div><div>But in the original post, the Windows Compiler issue was mentioned, so there seems to be two reasons to drop py2:</div><div><br></div><div>A) wanting to use py3 only features.</div><div>B) wanting to use never C (C++?) compiler features.</div><div><br></div></div>I suggest we be clear about which of these is driving the decisions, and explicit about the goals. That is, if (A) is critical, we don't even have to talk about (B)</div><div class="gmail_extra"><br></div><div class="gmail_extra">But we could choose to do (B) without doing (A) -- I suspect there will be a user base for that....</div></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">The problem is it's hard to predict the future. Right now neither PyPI nor conda  provide any way to distribute binaries for py27-but-with-a-newer-ABI, and maybe they never will; or maybe they will eventually, but not enough people use them to justify keeping py2 support given the other overheads; or... who knows, really.<br></div><div dir="auto"><br></div><div>Right now, the decision in front of us is what to tell people who  ask about numpy's py2 support plans, so that they can make their own plans. Given what we know right now, I don't think we should promise to keep support past 2018. If we get there and the situation's changed, and there's both desire and means to extend support we can revisit that. But's better to under-promise and possibly over-deliver, instead of promising to support py2 until after it becomes a millstone around our necks and then realizing we haven't warned anyone and are stuck supporting it another year beyond that...<br></div><div><br></div><div>-n<br></div><div dir="auto"></div></div>
</div>