[Python-Dev] Python install layout and the PATH on win32
Lindberg, Van
Van.Lindberg at haynesboone.com
Wed Mar 14 17:03:54 CET 2012
On 3/14/2012 1:32 AM, Mark Hammond wrote:
> As per comments later in the thread, I'm -1 on including
> "python{py_version_short}" in the lib directories for a number of
> reasons; one further reason not outlined is that it would potentially
> make running Python directly from a built tree difficult. For the same
> reason, I'm also -1 on having that in the include dir.
A built tree would look the same as always - the directories would only
be moved (if at all) during installation. Thus, you will still be able
to run python directly from a built installation.
Also note that the py_version_short will not be in platform installs.
>> scripts = {base/userbase}/bin
>
> We should note that this may cause pain for a number of projects - I've
> seen quite a few projects that already assume "Scripts" on Windows - eg,
> virtualenv and setuptools IIRC
If you look at these projects, though, they *special case* Windows to
account for the different layout. Removing this difference will allow
these projects to remove their special-casing code.
>- and also assume the executable is where
> it currently lives - one example off the top of my head is the mozilla
> "jetpack" project - see:
>
> https://github.com/mozilla/addon-sdk/blob/master/bin/activate.bat#L117
This code actually reinforces my point:
First, this code would actually still work. The section ":FoundPython"
sets the PATH to "%VIRTUAL_ENV%\bin;%PYTHONINSTALL%;%PATH%" (L80), which
would still allow python.exe to be found and run.
Second, look at that line again. Mozilla actually has edited this code
so that the jetpack uses a cross-platform "bin" convention, just as I am
proposing.
Third, one element of this proposal is that there would be a key placed
in the registry that points directly to the location of the python
executable, making locating it trivial to locate programmatically on
Windows.
Thanks,
Van
CIRCULAR 230 NOTICE: To ensure compliance with requirements imposed by
U.S. Treasury Regulations, Haynes and Boone, LLP informs you that any
U.S. tax advice contained in this communication (including any
attachments) was not intended or written to be used, and cannot be
used, for the purpose of (i) avoiding penalties under the Internal
Revenue Code or (ii) promoting, marketing or recommending to another
party any transaction or matter addressed herein.
CONFIDENTIALITY NOTICE: This electronic mail transmission is confidential,
may be privileged and should be read or retained only by the intended
recipient. If you have received this transmission in error, please
immediately notify the sender and delete it from your system.
More information about the Python-Dev
mailing list