[Python-Dev] Python install layout and the PATH on win32 (original) (raw)
VanL van.lindberg at gmail.com
Wed Mar 14 16:48:58 CET 2012
- Previous message: [Python-Dev] Python install layout and the PATH on win32
- Next message: [Python-Dev] Python install layout and the PATH on win32
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 3/14/2012 9:53 AM, Jim J. Jewett wrote:
In view-source:http://mail.python.org/pipermail/python-dev/2012-March/117586.html van.lindberg at gmail.com posted:
1) The layout for the python root directory for all platforms should be as follows: stdlib = {base/userbase}/lib/python{pyversionshort} platstdlib = {base/userbase}/lib/python{pyversionshort} purelib = {base/userbase}/lib/python{pyversionshort}/site-packages platlib = {base/userbase}/lib/python{pyversionshort}/site-packages include = {base/userbase}/include/python{pyversionshort} scripts = {base/userbase}/bin data = {base/userbase} Why? Pure python vs compiled C doesn't need to be separated at the directory level, except for cleanliness.
I am deliberately being cautious here. I actually agree with you. I am only suggesting we maintain all of these different distinctions because that is what we have already.
You can see what we have currently at http://hg.python.org/distutils2/file/2cec52b682a9/distutils2/_backport/sysconfig.cfg
I am not suggesting that docs, etc change at all - that is included in a different part of the configuration and is not modified by what I propose here (lines 1-26).
As noted earlier in the thread, I also change my proposal to maintain the existing differences between system installs and user installs.
Thus, the only place I am proposing changing are the values for the keys listed above. Specifically, this (lines 57-65 in the file above):
[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}
Would become this:
[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}
and this (lines 86-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}
would become this:
[nt_user] stdlib = {userbase}/python{py_version_short} platstdlib = {userbase}/python{py_version_short} 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}/bin data = {userbase}
... if you're rewriting that logic, you're just asking for bugs on a strange platform that you don't use.
I am not rewriting the logic - the logic is driven by these configuration values. And this is a platform I use, and that is why this drives me crazy!
Subdirectories are:
You forgot one:
C:\python32\Scripts Would change to C:\python32\bin. The python binary and scripts meant to be run direction (easy_install, etc) would all go in this directory.
C:\python32\DLLs Would not change.
C:\python32\Doc Would not change.
C:\python32\include Would be specified as lower case only - but otherwise would not change.
C:\python32\Lib Would be specified as lower case only - but otherwise would not change.
C:\python32\libs Would not change.
C:\python32\tcl Would not change.
C:\python32\Tools This proposal does not change this, although I do think that this could be eliminated or made into "examples".
Thanks, Van
- Previous message: [Python-Dev] Python install layout and the PATH on win32
- Next message: [Python-Dev] Python install layout and the PATH on win32
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]