<div dir="ltr">And then for OS system packages:<div><br></div><div>    whohas "requests"</div><div>    whohas "python-requests"</div><div><br></div><div><a href="https://github.com/whohas/whohas">https://github.com/whohas/whohas</a><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 13, 2015 at 6:13 PM, Wes Turner <span dir="ltr"><<a href="mailto:wes.turner@gmail.com" target="_blank">wes.turner@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>"The SciPy Stack"</div><div><a href="http://www.scipy.org/install.html" target="_blank">http://www.scipy.org/install.html</a><br></div><div><a href="http://www.scipy.org/stackspec.html" target="_blank">http://www.scipy.org/stackspec.html</a><br></div><div><a href="https://westurner.org/tools/#scipy-stack" target="_blank">https://westurner.org/tools/#scipy-stack</a><br></div><div><br></div><div><br></div><a href="http://docs.continuum.io/anaconda/pkg-docs" target="_blank">http://docs.continuum.io/anaconda/pkg-docs</a><br><div><br></div><div><table border="1" style="max-width:100%;border-collapse:collapse;border-spacing:0px;color:rgb(51,51,51);font-family:Lato,sans-serif;font-size:13px;line-height:18px"><tbody><tr><td style="width:140px"><a href="http://www.tcl.tk/" style="color:rgb(0,136,204);text-decoration:none" target="_blank">tk</a> <span style="font-size:9.75px;line-height:0;vertical-align:baseline;white-space:nowrap">Linux Mac</span></td><td>8.5.18</td></tr></tbody></table></div><table border="1" style="max-width:100%;border-collapse:collapse;border-spacing:0px;color:rgb(51,51,51);font-family:Lato,sans-serif;font-size:13px;line-height:18px"><tbody><tr><td style="width:140px"><a href="http://docs.python-requests.org/en/latest/index.html" style="color:rgb(0,136,204);text-decoration:none" target="_blank">requests</a></td><td>2.7.0<br></td></tr></tbody></table><div class="gmail_extra"><br><div class="gmail_quote"><a href="https://www.enthought.com/products/canopy/package-index/" target="_blank">https://www.enthought.com/products/canopy/package-index/</a><br></div><div class="gmail_quote"><br></div><div class="gmail_quote"><table style="max-width:100%;border-spacing:0px;width:1039px;margin-bottom:24px;border-width:1px 1px 1px 0px;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-top-color:rgb(221,221,221);border-right-color:rgb(221,221,221);border-bottom-color:rgb(221,221,221);border-radius:2px;color:rgb(51,51,51);font-family:'Droid Sans',Helvetica,Arial,sans-serif;font-size:13px;line-height:24px"><tbody><tr><td valign="middle" style="padding:4px 5px;vertical-align:middle;border-top-width:1px;border-top-style:solid;border-top-color:rgb(221,221,221);border-left-width:1px;border-left-style:solid;border-left-color:rgb(221,221,221);background-color:rgb(249,249,249)"><a href="http://docs.python-requests.org/en/latest/" style="color:rgb(57,124,197);text-decoration:none" target="_blank">requests</a></td><td valign="middle" style="padding:4px 5px;vertical-align:middle;border-top-width:1px;border-top-style:solid;border-top-color:rgb(221,221,221);border-left-width:1px;border-left-style:solid;border-left-color:rgb(221,221,221);background-color:rgb(249,249,249)">2.7.0</td></tr></tbody></table></div><div><div class="h5"><div class="gmail_quote"><br></div><div class="gmail_quote"><br></div><div class="gmail_quote"><br></div><div class="gmail_quote">On Thu, Aug 13, 2015 at 6:03 PM, Wes Turner <span dir="ltr"><<a href="mailto:wes.turner@gmail.com" target="_blank">wes.turner@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"><br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Thu, Aug 13, 2015 at 4:50 PM, Donald Stufft <span dir="ltr"><<a href="mailto:donald@stufft.io" target="_blank">donald@stufft.io</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On August 13, 2015 at 5:29:15 PM, Steve Dower (<a href="mailto:steve.dower@python.org" target="_blank">steve.dower@python.org</a>) wrote:<br>
><br>
> It's already a fairly crowded marketplace, at least on Windows.<br>
> Anaconda, Canopy, WinPython, Pythonxy and Portable Python all come to<br>
> mind, but none of them have reliably replaced the official Python<br>
> installer. In large part, I suspect this is because they do too much -<br>
> most include the scipy stack and at least one (typically 4-5) editors.<br>
<br>
</span>I think that’s also discounting the *huge* benefit of something being offered as the official Python thing. I think a lot of people are hesitant to install those other things because they come someone else, or they aren’t even aware of them because they searched for Python on google and got the official installer.<br>
<span><br>
><br>
> What might be interesting is if we installed the meta-package into the<br>
> Lib directory rather than Lib/site-packages. That also opens up the<br>
> possibility of removing old/deprecated modules from the stdlib but<br>
> having an install option to restore them. Which helps break up the<br>
> stdlib a bit and make the core Python install lighter, but still isn't<br>
> really suitable for something like requests.<br>
<br>
</span>Right, I don’t think it’s suitable at all to install something that is typically installed from PyPI into anything other than Lib/site-packages.<br>
<span><br>
><br>
> I also don't see any real gain in making it a separate thing from the<br>
> main installer unless you're planning 10+ packages to be in there. I<br>
> would expect an incredibly small amount of packages to be available -<br>
> those with no significant competitors, extremely broad uses, and<br>
> completely portable.<br>
><br>
<br>
</span>Can we release new, different, installers for say, a hypothetical 3.5.0 without cutting a new release of 3.5.0 that include updated versions of the bundled software? If so, how will people know they are using the latest version of that installer? I know that requests will not be very happy being bundled like that if getting a new version is tied to a new version of Python being released.<br>
<br>
This is one of the primary benefits of a separate installer, the installer (really the set of things that get installed) gets a version number. You can release it independently of a Python release, so if requests has a security issue then you can just roll out a new version of the platform installer without that affecting Python at all. <br>
<br>
Another major benefit of a separate installer that layers ontop of Python is reducing (or eliminating) the friction it will cause with downstream redistributors. The “sort of stdlib, sort of not” status of pip is weird and has caused a bit of a problem. I’m still dealing with the fallout of that, and while we had to do it that way in order for it to work inside of virtual environments, I don’t think we need to do this that way.<br>
<br>
I also think the separation just makes way more sense, when you have ensure* it means that things like python-pip depend on Python, but then Python also depends on them. I don’t think that Python the runtime needs to depends on requests and I think that doing that is going the wrong way. What this really is, is just a collection of preinstalled packages, so treating it like that seems like a better option.<br></blockquote><div><br></div></span><div>Challenges</div><div><br></div><div>- [ ] repeatable build scripts (to ensure reproducible environments)</div><div>  - tox</div><div>  - Pip</div><div>  - Dockerfiles (for specific operating system)</div><div>  - Installer script / PACKAGES (to be installed/called be each Dockerfile)</div><div>  - What about windows?</div><div>- [ ] installing third party packages</div><div>      (python -m ensurepip; pip install -U pip; pip install -r requirements.txt)</div><div><br></div><div>If you're suggesting that Python should test and maintain a distribution of specific PyPi packages,</div><div>which commands do I need to add to my Dockerfiles, and OSX/Windows?</div><div><br></div><div> - <a href="https://github.com/ipython/ipython/wiki/Install:-Docker#anaconda--ipython-configurations" target="_blank">https://github.com/ipython/ipython/wiki/Install:-Docker#anaconda--ipython-configurations</a></div><div> - <a href="https://www.python.org/dev/buildbot/" target="_blank">https://www.python.org/dev/buildbot/</a></div><div> - <a href="https://wiki.python.org/moin/BuildbotOnWindows" target="_blank">https://wiki.python.org/moin/BuildbotOnWindows</a> (this is probably out of date; download and build which packages every time?)</div><span><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div><br>
-----------------<br>
Donald Stufft<br>
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA<br>
<br>
<br>
_______________________________________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org" target="_blank">Python-ideas@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer" target="_blank">http://python.org/psf/codeofconduct/</a></div></div></blockquote></span></div><br></div></div>
</blockquote></div><br></div></div></div></div>
</blockquote></div><br></div>