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

Paul Moore p.f.moore at gmail.com
Sat Mar 17 12:57:00 CET 2012


On 17 March 2012 05:28, Mark Hammond <skippy.hammond at gmail.com> wrote:

>> I hate to seem like I'm piling on now after panning your last brainstorm
>> :-), but... this would be quite problematic for virtualenv users, many
>> of whom do rely on the fact that the virtualenv "stuff" is confined to
>> within a limited set of known subdirectories, and they can overlay a
>> virtualenv and their own project code with just a few virtualenv
>> directories vcs-ignored.
>>
>> I would prefer either the status quo or the proposed cross-platform
>> harmonization.

I work purely Windows-only, and I have a few scripts that manage
virtualenvs for myself (for example, sort of a personal
virtalenv-wrapper for Powershell - see
https://bitbucket.org/pmoore/poshpy for a work-in-progress version).
They have special casing for the differences in layout between
standard installs, build directories, and virtualenvs. Changing the
layout would cause these tools to need to change.

In theory, putting python.exe/pythonw.exe into "Scripts" would
simplify them (no need to cater for the cases where I need to put 2
directories on PATH), and changing Scripts -> bin would be trivial.
But in practice, it would mean that I need to check (somehow) the
Python version and adjust the layout used accordingly. As there is no
way of knowing the Python version without running Python, this is too
slow to be practical.

So while the changes are in theory harmless in isolation (except the
library locations - changing those *would* cause pain) the need to
support multiple versions would make this a major issue for me.

So, I prefer the status quo. If necessary, I can live with the change
to rename scripts as bin and put the Python executables in there (some
cost, but some small benefit as well) but I oppose changing the
library locations (all cost, no gain for me). All of this presupposes
that both the standard installer *and* virtualenv change. I suspect
that having virtualenv respect the old layout for 3.2 and earlier, and
the new one for 3.3+, could be messy, though, so that's not
guaranteed, I guess...

> Breaking the few tools I'm concerned about vs asking Van etc to continue
> taking the pain he feels isn't going to mean the end of the world for any of
> us.

Agreed. I can't say my pain is any more important than Van's, but the
same applies the other way round :-)

> So given the stakes in this particular discussion aren't that high,
> I'll try and summarize the thread over the next few days (or someone can
> beat me to it if they prefer) and we can ask someone semi-impartial to make
> a decision.  I'd be happy to nominate MvL if he feels so inclined (even
> though I haven't asked him).

Sounds reasonable. I'd suggest that Van should probably report any
other examples where someone would benefit from this change - at the
moment unless I've misread the thread, it seems like he's the only
example of someone who would gain.

Paul.


More information about the Python-Dev mailing list