This adds support for another python package style - pex_inplace. It uses the regular pex code to make the chroot, but then just doesn't zip it. This is a use case supported by pex.
Also included are some optimizations to pex generation, but the speedup is really only seen with the in-place version. Generating buck.pex via regular pex takes ~ 4-5s on my mac; with pex_inplace it's down to ~300ms. This is still a little slower than the regular inplace mode, but supports more features (e.g. prebuilt packages, proper isolation, etc).
The optimizations to pexing are:
- Don't produce a code hash in PEX-INFO in inplace mode. This is only used to check if we need to extract the contents of a pex from a zip; if it's already a directory, it's useless. (3-4s)
- Pass the python version information from buck to pex.py instead of querying it every time make_pex is run (400ms).