diff --git a/Doc/distutils/install.rst b/Doc/distutils/install.rst --- a/Doc/distutils/install.rst +++ b/Doc/distutils/install.rst @@ -351,10 +351,10 @@ =============== =========================================================== Type of file Installation directory =============== =========================================================== -modules :file:`{userbase}\\Python{XY}\\site-packages` -scripts :file:`{userbase}\\Scripts` +modules :file:`{userbase}\\python{XY}\\site-packages` +scripts :file:`{userbase}\\bin` data :file:`{userbase}` -C headers :file:`{userbase}\\Python{XY}\\Include\\{distname}` +C headers :file:`{userbase}\\Python{XY}\\include\\{distname}` =============== =========================================================== The advantage of using this scheme compared to the other ones described below is @@ -503,12 +503,12 @@ =============== ========================================================== Type of file Installation directory =============== ========================================================== -modules :file:`{prefix}\\Lib\\site-packages` -scripts :file:`{prefix}\\Scripts` +modules :file:`{prefix}\\lib\\site-packages` +scripts :file:`{prefix}\\bin` data :file:`{prefix}` -C headers :file:`{prefix}\\Include\\{distname}` +C headers :file:`{prefix}\\include\\{distname}` =============== ========================================================== - +\(6) .. _inst-custom-install: @@ -808,6 +808,10 @@ be tried. This is done by the :func:`os.path.expanduser` function used by Distutils. +(6) + On Windows prior to 3.3, the value for `scripts` was `Scripts` and some + values (like `Include`) were capitalized. + .. _inst-config-syntax: diff --git a/Doc/install/install.rst b/Doc/install/install.rst --- a/Doc/install/install.rst +++ b/Doc/install/install.rst @@ -246,7 +246,7 @@ +-----------------+-----------------------------------------------------+--------------------------------------------------+-------+ | Unix (non-pure) | :file:`{exec-prefix}/lib/python{X.Y}/site-packages` | :file:`/usr/local/lib/python{X.Y}/site-packages` | \(1) | +-----------------+-----------------------------------------------------+--------------------------------------------------+-------+ -| Windows | :file:`{prefix}\\Lib\\site-packages` | :file:`C:\\Python{XY}\\Lib\\site-packages` | \(2) | +| Windows | :file:`{prefix}\\lib\\site-packages` | :file:`C:\\Python{XY}\\lib\\site-packages` | \(2) | +-----------------+-----------------------------------------------------+--------------------------------------------------+-------+ Notes: @@ -259,7 +259,8 @@ (2) The default installation directory on Windows was :file:`C:\\Program - Files\\Python` under Python 1.6a1, 1.5.2, and earlier. + Files\\Python` under Python 1.6a1, 1.5.2, and earlier. The capitalization + was also changed in 3.3. :file:`{prefix}` and :file:`{exec-prefix}` stand for the directories that Python is installed to, and where it finds its libraries at run-time. They are always @@ -372,12 +373,15 @@ =============== =========================================================== Type of file Installation directory =============== =========================================================== -modules :file:`{userbase}\\Python{XY}\\site-packages` -scripts :file:`{userbase}\\Scripts` +modules :file:`{userbase}\\python{XY}\\site-packages` +scripts :file:`{userbase}\\bin` data :file:`{userbase}` -C headers :file:`{userbase}\\Python{XY}\\Include` +C headers :file:`{userbase}\\python{XY}\\include` =============== =========================================================== +(Note that the location of the scripts changed from `Scripts` to `bin` in 3.3 +and the case changed to lowercase.) + The advantage of using this scheme compared to the other ones described below is that the user site-packages directory is under normal conditions always included in :data:`sys.path` (see :mod:`site` for more information), which means that @@ -527,12 +531,14 @@ =============== ========================================================== Type of file Installation directory =============== ========================================================== -modules :file:`{prefix}\\Lib\\site-packages` -scripts :file:`{prefix}\\Scripts` +modules :file:`{prefix}\\lib\\site-packages` +scripts :file:`{prefix}\\bin` data :file:`{prefix}` -C headers :file:`{prefix}\\Include` +C headers :file:`{prefix}\\include` =============== ========================================================== +(Note that the location of the scripts changed from `Scripts` to `bin` in 3.3 +and the case changed to lowercase.) .. _packaging-custom-install: diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py --- a/Lib/distutils/command/install.py +++ b/Lib/distutils/command/install.py @@ -33,7 +33,7 @@ 'scripts': '$base/Scripts', 'data' : '$base', } -else: +elif sys.version >= "2.2" and sys.version < "3.3": WINDOWS_SCHEME = { 'purelib': '$base/Lib/site-packages', 'platlib': '$base/Lib/site-packages', @@ -41,6 +41,14 @@ 'scripts': '$base/Scripts', 'data' : '$base', } +else: + WINDOWS_SCHEME = { + 'purelib': '$base/lib/site-packages', + 'platlib': '$base/lib/site-packages', + 'headers': '$base/include/$dist_name', + 'scripts': '$base/bin', + 'data' : '$base', + } INSTALL_SCHEMES = { 'unix_prefix': { @@ -69,13 +77,22 @@ # user site schemes if HAS_USER_SITE: - INSTALL_SCHEMES['nt_user'] = { - 'purelib': '$usersite', - 'platlib': '$usersite', - 'headers': '$userbase/Python$py_version_nodot/Include/$dist_name', - 'scripts': '$userbase/Scripts', - 'data' : '$userbase', - } + if sys.version < "3.3": + INSTALL_SCHEMES['nt_user'] = { + 'purelib': '$usersite', + 'platlib': '$usersite', + 'headers': '$userbase/Python$py_version_nodot/Include/$dist_name', + 'scripts': '$userbase/Scripts', + 'data' : '$userbase', + } + else: + INSTALL_SCHEMES['nt_user'] = { + 'purelib': '$usersite', + 'platlib': '$usersite', + 'headers': '$userbase/Python$py_version_nodot/include/$dist_name', + 'scripts': '$userbase/bin', + 'data' : '$userbase', + } INSTALL_SCHEMES['unix_user'] = { 'purelib': '$usersite', diff --git a/Lib/packaging/tests/SETUPTOOLS-PKG-INFO b/Lib/packaging/tests/SETUPTOOLS-PKG-INFO --- a/Lib/packaging/tests/SETUPTOOLS-PKG-INFO +++ b/Lib/packaging/tests/SETUPTOOLS-PKG-INFO @@ -31,7 +31,7 @@ version. Once installation is complete, you will find an ``easy_install.exe`` program in - your Python ``Scripts`` subdirectory. Be sure to add this directory to your + your Python ``bin`` subdirectory. Be sure to add this directory to your ``PATH`` environment variable, if you haven't already done so. diff --git a/Lib/packaging/tests/SETUPTOOLS-PKG-INFO2 b/Lib/packaging/tests/SETUPTOOLS-PKG-INFO2 --- a/Lib/packaging/tests/SETUPTOOLS-PKG-INFO2 +++ b/Lib/packaging/tests/SETUPTOOLS-PKG-INFO2 @@ -31,7 +31,7 @@ version. Once installation is complete, you will find an ``easy_install.exe`` program in - your Python ``Scripts`` subdirectory. Be sure to add this directory to your + your Python ``bin`` subdirectory. Be sure to add this directory to your ``PATH`` environment variable, if you haven't already done so. diff --git a/Lib/sysconfig.cfg b/Lib/sysconfig.cfg --- a/Lib/sysconfig.cfg +++ b/Lib/sysconfig.cfg @@ -55,23 +55,23 @@ data = {base} [nt] -stdlib = {installed_base}/Lib -platstdlib = {base}/Lib -purelib = {base}/Lib/site-packages -platlib = {base}/Lib/site-packages -include = {installed_base}/Include -platinclude = {installed_base}/Include -scripts = {base}/Scripts +stdlib = {installed_base}/lib +platstdlib = {base}/lib +purelib = {base}/lib/site-packages +platlib = {base}/lib/site-packages +include = {installed_base}/include +platinclude = {installed_base}/include +scripts = {base}/bin data = {base} [os2] -stdlib = {installed_base}/Lib -platstdlib = {base}/Lib -purelib = {base}/Lib/site-packages -platlib = {base}/Lib/site-packages -include = {installed_base}/Include -platinclude = {installed_base}/Include -scripts = {base}/Scripts +stdlib = {installed_base}/lib +platstdlib = {base}/lib +purelib = {base}/lib/site-packages +platlib = {base}/lib/site-packages +include = {installed_base}/include +platinclude = {installed_base}/include +scripts = {base}/bin data = {base} [os2_home] @@ -84,12 +84,12 @@ data = {userbase} [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 +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}/bin data = {userbase} [posix_user] diff --git a/Lib/venv/__init__.py b/Lib/venv/__init__.py --- a/Lib/venv/__init__.py +++ b/Lib/venv/__init__.py @@ -127,13 +127,11 @@ context.executable = executable context.python_dir = dirname context.python_exe = exename + binname = 'bin' + incpath = 'include' if sys.platform == 'win32': - binname = 'Scripts' - incpath = 'Include' - libpath = os.path.join(env_dir, 'Lib', 'site-packages') + libpath = os.path.join(env_dir, 'lib', 'site-packages') else: - binname = 'bin' - incpath = 'include' libpath = os.path.join(env_dir, 'lib', 'python%d.%d' % sys.version_info[:2], 'site-packages') context.inc_path = path = os.path.join(env_dir, incpath) create_if_needed(path) @@ -226,7 +224,7 @@ for root, dirs, files in os.walk(context.python_dir): if 'init.tcl' in files: tcldir = os.path.basename(root) - tcldir = os.path.join(context.env_dir, 'Lib', tcldir) + tcldir = os.path.join(context.env_dir, 'lib', tcldir) os.makedirs(tcldir) src = os.path.join(root, 'init.tcl') dst = os.path.join(tcldir, 'init.tcl') diff --git a/PC/bdist_wininst/install.c b/PC/bdist_wininst/install.c --- a/PC/bdist_wininst/install.c +++ b/PC/bdist_wininst/install.c @@ -169,16 +169,16 @@ { "PURELIB", "" }, { "PLATLIB", "" }, { "HEADERS", "" }, /* 'Include/dist_name' part already in archive */ - { "SCRIPTS", "Scripts\\" }, + { "SCRIPTS", "bin\\" }, { "DATA", "" }, { NULL, NULL }, }; SCHEME new_scheme[] = { - { "PURELIB", "Lib\\site-packages\\" }, - { "PLATLIB", "Lib\\site-packages\\" }, + { "PURELIB", "lib\\site-packages\\" }, + { "PLATLIB", "lib\\site-packages\\" }, { "HEADERS", "" }, /* 'Include/dist_name' part already in archive */ - { "SCRIPTS", "Scripts\\" }, + { "SCRIPTS", "bin\\" }, { "DATA", "" }, { NULL, NULL }, }; @@ -1938,7 +1938,7 @@ 'scripts': '$base/Scripts', 'data' : '$base', } - else: + elif sys.version >= "2.2" and sys.version < "3.3": WINDOWS_SCHEME = { 'purelib': '$base/Lib/site-packages', 'platlib': '$base/Lib/site-packages', @@ -1946,6 +1946,14 @@ 'scripts': '$base/Scripts', 'data' : '$base', } + else: + WINDOWS_SCHEME = { + 'purelib': '$base/lib/site-packages', + 'platlib': '$base/lib/site-packages', + 'headers': '$base/include/$dist_name', + 'scripts': '$base/bin', + 'data' : '$base', + } */ scheme = GetScheme(py_major, py_minor); /* Run the pre-install script. */ @@ -2043,7 +2051,7 @@ SetDlgItemText(hwnd, IDC_TITLE, "Please wait while running postinstall script..."); strcpy(fname, python_dir); - strcat(fname, "\\Scripts\\"); + strcat(fname, "\\bin\\"); strcat(fname, install_script); if (logfile) diff --git a/Tools/scripts/win_add2path.py b/Tools/scripts/win_add2path.py --- a/Tools/scripts/win_add2path.py +++ b/Tools/scripts/win_add2path.py @@ -19,11 +19,11 @@ def modify(): pythonpath = os.path.dirname(os.path.normpath(sys.executable)) - scripts = os.path.join(pythonpath, "Scripts") + scripts = os.path.join(pythonpath, "bin") appdata = os.environ["APPDATA"] if hasattr(site, "USER_SITE"): userpath = site.USER_SITE.replace(appdata, "%APPDATA%") - userscripts = os.path.join(userpath, "Scripts") + userscripts = os.path.join(userpath, "bin") else: userscripts = None