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

VanL van.lindberg at gmail.com
Wed Mar 14 17:10:05 CET 2012


On 3/14/2012 10:56 AM, Terry Reedy wrote:
> Are you talking about 'install for all users' versus 'install for this
> user only'? I have always done the former as I see no point to the
> latter on my machine, even if another family member has an account.

Yes, but some people are on corporate machines that only allow "install 
for this user" installations.


>> I am fine with keeping the distinction between
>  > base installs (no py_version)
>
> I have no idea what this means. As far as I can remember, each
> installation of Python x.y (back to 1.3 for me, on DOS) has gone into a
> pythonxy (no dot) directory, with subdirectories much as Jim J. described.

I am referring to the currently-existing install schemes 'nt' ('install 
for all users') and 'nt-user' ('install for this user only'). The 
*current* layouts are described at 
http://hg.python.org/distutils2/file/2cec52b682a9/distutils2/_backport/sysconfig.cfg:

L57-65:
[nt]
stdlib = {base}/Lib
platstdlib = {base}/Lib
purelib = {base}/Lib/site-packages
platlib = {base}/Lib/site-packages
include = {base}/Include
platinclude = {base}/Include
scripts = {base}/Scripts
data = {base}

L86-93:
[nt_user]
stdlib = {userbase}/Python{py_version_nodot}
platstdlib = {userbase}/Python{py_version_nodot}
purelib = {userbase}/Python{py_version_nodot}/site-packages
platlib = {userbase}/Python{py_version_nodot}/site-packages
include = {userbase}/Python{py_version_nodot}/Include
scripts = {userbase}/Scripts
data = {userbase}

I am proposing that these change to:

[nt]
stdlib = {base}/lib
platstdlib = {base}/lib
purelib = {base}/lib/site-packages
platlib = {base}/lib/site-packages
include = {base}/include
platinclude = {base}/include
scripts = {base}/bin
data = {base}

[nt_user]
stdlib = {userbase}/python{py_version_short}
platstdlib = {userbase}/python{py_version_short}
purelib = {userbase}/python{py_version_short}/site-packages
platlib = {userbase}/python{py_version_short}/site-packages
include = {userbase}/python{py_version_short}/include
scripts = {userbase}/bin
data = {userbase}

All the other diuectories that Jim talked about would not be affected by 
this proposal.

Does this make it clearer?

Thanks,
Van



More information about the Python-Dev mailing list