[Python-Dev] Python install layout and the PATH on win32

Carl Meyer carl at oddbird.net
Fri Mar 16 01:12:54 CET 2012


On 03/15/2012 05:10 PM, Mark Hammond wrote:
> On 16/03/2012 10:48 AM, Carl Meyer wrote:
>> The implementation of virtualenv (and especially PEP 405 pyvenv) are
>> largely based around making sure that the internal layout of a
>> virtualenv is identical to the layout of an installed Python on that
>> same platform, to avoid any need to special-case virtualenvs in
>> distutils. The one exception to this is the location of the python
>> binary itself in Windows virtualenvs; we do place it inside Scripts\ so
>> that the virtualenv can be "activated" by adding only a single path to
>> the shell PATH. But I would be opposed to any additional special-casing
>> of the internal layout of a virtualenv
> ...
> 
> Unless I misunderstand, that sounds like it should keep everyone happy;
> there already is a special case for the executable on Windows being in a
> different place in an installed layout vs a virtual-env layout. Changing
> this to use "bin" instead of "Scripts" makes the virtualenv more
> consistent across platforms and doesn't impose any additional
> special-casing for Windows (just slightly changes the existing
> special-case :)

Changing the directory name is in fact a new and different (and much
more invasive) special case, because distutils et al install scripts
there, and that directory name is part of the distutils install scheme.
Installers don't care where the Python binary is located, so moving it
in with the other scripts has very little impact.

Carl

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/python-dev/attachments/20120315/3fb95b6c/attachment-0001.pgp>


More information about the Python-Dev mailing list