pypa/pip — pull request #1510 by dstufft (2014-01-27 22:45:28+00:00)
Title: Use a ZipFile as the get-pip.py script

Previously get-pip.py was a hacky script that included compressed base64 encoded pickled files that represented an installed pip. It extracted these files into the temporary location and then executed that unpacked pip in order to install pip and setuptools from PyPI.

This changes that so that get-pip.py is actually a zip file with a __main__.py. Python 2.6+ can execute these directly without having to do the unpack dance. The only exception is that the bundle of certs bundled into requests *does* need to be extracted to a temporary location so that the connection to PyPI can be validated.

This should represent no change in behavior for users of get-pip.py however it should push the trouble of the bulk of the implementation onto the Python install instead of trying to do this ourselves.

The one important behavior change for packagers is that this will no longer package an *installed* pip, but will instead package the version that has been checked out. I believe this is more obvious and what a packager would expect to happen anyways.

I have tested this on Python 2.6, 2.7, 3.2, and 3.3 on OSX and they all work correctly.