On Tue, 4/2/14, Nick Coghlan <[email protected]> wrote:

> I'm not sure how I can explain it more clearly, but I'll try.
[snip]

I understood the scenarios you outlined.

> I'm not saying what you want to do *can't* be done (it obviously can).
> I'm saying it adds additional complexity, because you're adding a
> second isolation mechanism into the mix, with a completelely
> independent set of ways of interacting with it.

There is no separate isolation mechanism in my approach - distil
runs completely in the context of the virtualenv, so that's all the
isolation mechanism there is, in both cases. The difference is that
distil doesn't need to be installed in the venv - but otherwise, its
sys.path is the same as for any other tool in the venv, as it is running
*with the venv's interpreter*, just as the pip in a venv is. Perhaps
I haven't made that explicitly clear (I assumed it was implicit in
"restart in venv"). For example, the distil run with -e has no access
to system site-packages if the venv itself is isolated from system
site-packages.

> For an example of that consider that "pip install" and "python -m
>  pip install" are essentially equivalent commands. The status quo
> preserves that equivalence even inside a virtual environment,
> because there is no separate mechanism to be considered.

Well, distil doesn't have a __main__.py and is not designed to
be called with -m, but I don't see an essential difference, because
the main vehicle of isolation is *the venv machinery* in *both*
pip and distil cases.

> If the system Python site-packages is disabled in an active
> virtual environment, you don't need to carefully ensure that
> doesn't affect your install tool, because it's right there in the
> virtual environment with you.

As I said above, distil respects venv isolation: if a venv is
isolated from system site-packages, then distil code run with -e
can't see system site-packages, automatically, without any
"careful ensuring" being necessary. So from what I can see, your
argument is based on an imperfect understanding of how distil
works. If you'd like to understand it better I'll provide the support,
but if you don't want to or can't do that - well, that's a shame, but
such is life :-)

Regards,

Vinay Sajip
_______________________________________________
Distutils-SIG maillist  -  [email protected]
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to