[Distutils] PEX at Twitter (re: PEX - Twitter's multi-platform executable archive format for Python)

Nick Coghlan ncoghlan at gmail.com
Sat Feb 1 10:47:18 CET 2014

On 1 February 2014 19:29, Vinay Sajip <vinay_sajip at yahoo.co.uk> wrote:
> On Sat, 1/2/14, Nick Coghlan <ncoghlan at gmail.com> wrote:
>> FWIW, installing into a venv from outside it works fine
> That's what I'm saying :-)
>> However, it's substantially *harder* to explain to people how
>> to use it correctly that way.
> But distil installs into venvs (both PEP 405 and virtualenv)
> without needing to be in there. It's as simple as
> distil -e path/to/venv install XYZ
> So I'm not sure what you mean by "use correctly" or what
> exactly is hard to explain. Distil doesn't do anything special -
> after all, installing a distribution just means moving
> certain files into certain locations. If you know that you're
> installing into one of (a) a specific venv, or (b) user
> site-packages, or (c) system site-packages, then you know
> what the installation locations are without doing anything
> especially clever, don't you?

I'm talking about easing the cognitive burden on developers. The
pip/virtualenv model is that once an environment is activated,
developers don't need to think about it anymore - they're in that
environment until they explicitly switch it off.

By installing pip *into* the environment, then it is automatically
affected by the same settings as all other Python components, so "pip
install library" inside an activated virtual environment *just does
the right thing*, and it does it in a way that doesn't require any
additional custom machinery or testing. Getting a substantial
usability improvement *almost for free* (since requirements.txt makes
it easy to discard and rebuild virtual environments as needed,
reducing the maintainability burden) is a big win.

Making any installer automatically respect an activated virtual
environment without installing it into that environment is no doubt
*feasible*, but just installing the installer *into* the environment
has the same effect with requiring any additional engineering or
testing effort.


Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia

More information about the Distutils-SIG mailing list