<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jul 9, 2013, at 11:16 PM, Richard Jones <<a href="mailto:r1chardj0n3s@gmail.com">r1chardj0n3s@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">[firstly, my apologies for posting the announcement yesterday of the pip bootstrap implementation and PEP updates to the pypa-dev list instead of distutils-sig... I blame PyCon AU exhaustion :-)]<div><br></div><div>Firstly, I've just made some additional changes to PEP 439 to include:</div>
<div><br></div><div>- installing virtualenv as well (so now pip, setuptools and virtualenv are installed)</div></blockquote><div><br></div><div>doesn't "PyEnv" which is bundled with Python 3.3+ replace virtualenv? What's the purpose of including virtualenv in the bootstrap? <a href="http://www.python.org/dev/peps/pep-0405/">http://www.python.org/dev/peps/pep-0405/</a></div><br><blockquote type="cite"><div>- mention the possibility of inclusion in a future Python 2.7 release</div><div>- clarify the SSL certificate situation</div>
<div><br></div><div>The bootstrap code has also been updated to:</div><div><br></div><div>- not run the full pip command if it's "pip3 install setuptools" or either of the other two packages it has just installed (thus preventing a possibly confusing message to the user)</div>
<div>- also install virtualenv</div><div><br></div><div>The intention is that the pip, setuptools and actually all Python projects will promote a single bootstrap process:</div><div><br></div><div> "pip3 install setuptools" or "pip3 install Django"</div>
<div><br></div><div>And then there's instructions for getting "pip" if it's not installed. Exact wording etc. to be determined :-)</div><div><br></div><div>The original message I sent to pypa-dev yesterday is below:<br>
<div><br></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">The bootstrap that I wrote at the PyCon AU sprints to implement PEP 439 has been added to pypa on bitbucket:</span><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><a href="https://bitbucket.org/pypa/bootstrap" target="_blank" style="color:rgb(17,85,204)">https://bitbucket.org/pypa/bootstrap</a></div>
<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
I've also updated the PEP with the following changes:</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
- mention current plans for HTTPS cert verification in Python 3.4+ (sans PEP reference for now)</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">- remove setuptools note; setuptools will now be installed</div>
<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">- mention bootstrapping target (user vs. system) and command-line options</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
- mention python 2.6+ bootstrap possibility</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">- remove consideration of support for unnecessary installation options (beyond -i/--index-url)</div>
<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">- mention having pip default to --user when itself installed in ~/.local</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">What the last item alludes to is the idea that it'd be nice if pip installed in ~/.local would default to installing packages also in ~/.local as though the --user switch had been provided. Otherwise the user needs to remember it every time they install a package.</div>
<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
Note that the bootstrapping uses two different flags to control where the pip implementation is installed: --bootstrap and --bootstrap-system (these were chosen to encourage user installs). It would be ideal if pip could support those flags, as the pip3 command currently must remove them before invoking pip main.</div>
<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
Once we're happy with the shape of pip3 we can fork it to Python 2 and use it as the canonical bootstrap script for installing pip and setuptools. I think we should also consider installing virtualenv in Python 2...</div>
<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
Happy to clarify where needed and code review is welcome. It's been a looong four days here :-)</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div>
<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
Richard</div></div></div>
_______________________________________________<br>Distutils-SIG maillist - <a href="mailto:Distutils-SIG@python.org">Distutils-SIG@python.org</a><br><a href="http://mail.python.org/mailman/listinfo/distutils-sig">http://mail.python.org/mailman/listinfo/distutils-sig</a><br></blockquote></div><br><div>
<br>-----------------<br>Donald Stufft<br>PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
</div>
<br></body></html>