mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 11:49:12 +00:00 
			
		
		
		
	Issue #25985: sys.version_info is now used instead of sys.version
to format short Python version.
This commit is contained in:
		
							parent
							
								
									a9725f86a9
								
							
						
					
					
						commit
						885bdc4946
					
				
					 24 changed files with 56 additions and 52 deletions
				
			
		| 
						 | 
					@ -64,9 +64,10 @@ The header files are typically installed with Python.  On Unix, these  are
 | 
				
			||||||
located in the directories :file:`{prefix}/include/pythonversion/` and
 | 
					located in the directories :file:`{prefix}/include/pythonversion/` and
 | 
				
			||||||
:file:`{exec_prefix}/include/pythonversion/`, where :envvar:`prefix` and
 | 
					:file:`{exec_prefix}/include/pythonversion/`, where :envvar:`prefix` and
 | 
				
			||||||
:envvar:`exec_prefix` are defined by the corresponding parameters to Python's
 | 
					:envvar:`exec_prefix` are defined by the corresponding parameters to Python's
 | 
				
			||||||
:program:`configure` script and *version* is ``sys.version[:3]``.  On Windows,
 | 
					:program:`configure` script and *version* is
 | 
				
			||||||
the headers are installed in :file:`{prefix}/include`, where :envvar:`prefix` is
 | 
					``'%d.%d' % sys.version_info[:2]``.  On Windows, the headers are installed
 | 
				
			||||||
the installation directory specified to the installer.
 | 
					in :file:`{prefix}/include`, where :envvar:`prefix` is the installation
 | 
				
			||||||
 | 
					directory specified to the installer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To include the headers, place both directories (if different) on your compiler's
 | 
					To include the headers, place both directories (if different) on your compiler's
 | 
				
			||||||
search path for includes.  Do *not* place the parent directories on the search
 | 
					search path for includes.  Do *not* place the parent directories on the search
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -204,7 +204,7 @@ Test cyclic gc(?)
 | 
				
			||||||
import os
 | 
					import os
 | 
				
			||||||
import sys
 | 
					import sys
 | 
				
			||||||
from distutils.util import get_platform
 | 
					from distutils.util import get_platform
 | 
				
			||||||
PLAT_SPEC = "%s-%s" % (get_platform(), sys.version[0:3])
 | 
					PLAT_SPEC = "%s-%d.%d" % (get_platform(), *sys.version_info[:2])
 | 
				
			||||||
src = os.path.join("build", "lib.%s" % PLAT_SPEC)
 | 
					src = os.path.join("build", "lib.%s" % PLAT_SPEC)
 | 
				
			||||||
sys.path.append(src)
 | 
					sys.path.append(src)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -163,7 +163,7 @@ Other functions
 | 
				
			||||||
.. function:: get_python_version()
 | 
					.. function:: get_python_version()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   Return the ``MAJOR.MINOR`` Python version number as a string.  Similar to
 | 
					   Return the ``MAJOR.MINOR`` Python version number as a string.  Similar to
 | 
				
			||||||
   ``sys.version[:3]``.
 | 
					   ``'%d.%d' % sys.version_info[:2]``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. function:: get_platform()
 | 
					.. function:: get_platform()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -199,7 +199,7 @@ class bdist_msi(Command):
 | 
				
			||||||
            target_version = self.target_version
 | 
					            target_version = self.target_version
 | 
				
			||||||
            if not target_version:
 | 
					            if not target_version:
 | 
				
			||||||
                assert self.skip_build, "Should have already checked this"
 | 
					                assert self.skip_build, "Should have already checked this"
 | 
				
			||||||
                target_version = sys.version[0:3]
 | 
					                target_version = '%d.%d' % sys.version_info[:2]
 | 
				
			||||||
            plat_specifier = ".%s-%s" % (self.plat_name, target_version)
 | 
					            plat_specifier = ".%s-%s" % (self.plat_name, target_version)
 | 
				
			||||||
            build = self.get_finalized_command('build')
 | 
					            build = self.get_finalized_command('build')
 | 
				
			||||||
            build.build_lib = os.path.join(build.build_base,
 | 
					            build.build_lib = os.path.join(build.build_base,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -141,7 +141,7 @@ class bdist_wininst(Command):
 | 
				
			||||||
            target_version = self.target_version
 | 
					            target_version = self.target_version
 | 
				
			||||||
            if not target_version:
 | 
					            if not target_version:
 | 
				
			||||||
                assert self.skip_build, "Should have already checked this"
 | 
					                assert self.skip_build, "Should have already checked this"
 | 
				
			||||||
                target_version = sys.version[0:3]
 | 
					                target_version = '%d.%d' % sys.version_info[:2]
 | 
				
			||||||
            plat_specifier = ".%s-%s" % (self.plat_name, target_version)
 | 
					            plat_specifier = ".%s-%s" % (self.plat_name, target_version)
 | 
				
			||||||
            build = self.get_finalized_command('build')
 | 
					            build = self.get_finalized_command('build')
 | 
				
			||||||
            build.build_lib = os.path.join(build.build_base,
 | 
					            build.build_lib = os.path.join(build.build_base,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -81,7 +81,7 @@ class build(Command):
 | 
				
			||||||
                            "--plat-name only supported on Windows (try "
 | 
					                            "--plat-name only supported on Windows (try "
 | 
				
			||||||
                            "using './configure --help' on your platform)")
 | 
					                            "using './configure --help' on your platform)")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        plat_specifier = ".%s-%s" % (self.plat_name, sys.version[0:3])
 | 
					        plat_specifier = ".%s-%d.%d" % (self.plat_name, *sys.version_info[:2])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Make it so Python 2.x and Python 2.x with --with-pydebug don't
 | 
					        # Make it so Python 2.x and Python 2.x with --with-pydebug don't
 | 
				
			||||||
        # share the same build directories. Doing so confuses the build
 | 
					        # share the same build directories. Doing so confuses the build
 | 
				
			||||||
| 
						 | 
					@ -114,7 +114,7 @@ class build(Command):
 | 
				
			||||||
                                           'temp' + plat_specifier)
 | 
					                                           'temp' + plat_specifier)
 | 
				
			||||||
        if self.build_scripts is None:
 | 
					        if self.build_scripts is None:
 | 
				
			||||||
            self.build_scripts = os.path.join(self.build_base,
 | 
					            self.build_scripts = os.path.join(self.build_base,
 | 
				
			||||||
                                              'scripts-' + sys.version[0:3])
 | 
					                                              'scripts-%d.%d' % sys.version_info[:2])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if self.executable is None:
 | 
					        if self.executable is None:
 | 
				
			||||||
            self.executable = os.path.normpath(sys.executable)
 | 
					            self.executable = os.path.normpath(sys.executable)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -290,8 +290,8 @@ class install(Command):
 | 
				
			||||||
                            'dist_version': self.distribution.get_version(),
 | 
					                            'dist_version': self.distribution.get_version(),
 | 
				
			||||||
                            'dist_fullname': self.distribution.get_fullname(),
 | 
					                            'dist_fullname': self.distribution.get_fullname(),
 | 
				
			||||||
                            'py_version': py_version,
 | 
					                            'py_version': py_version,
 | 
				
			||||||
                            'py_version_short': py_version[0:3],
 | 
					                            'py_version_short': '%d.%d' % sys.version_info[:2],
 | 
				
			||||||
                            'py_version_nodot': py_version[0] + py_version[2],
 | 
					                            'py_version_nodot': '%d%d' % sys.version_info[:2],
 | 
				
			||||||
                            'sys_prefix': prefix,
 | 
					                            'sys_prefix': prefix,
 | 
				
			||||||
                            'prefix': prefix,
 | 
					                            'prefix': prefix,
 | 
				
			||||||
                            'sys_exec_prefix': exec_prefix,
 | 
					                            'sys_exec_prefix': exec_prefix,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,10 +21,10 @@ class install_egg_info(Command):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def finalize_options(self):
 | 
					    def finalize_options(self):
 | 
				
			||||||
        self.set_undefined_options('install_lib',('install_dir','install_dir'))
 | 
					        self.set_undefined_options('install_lib',('install_dir','install_dir'))
 | 
				
			||||||
        basename = "%s-%s-py%s.egg-info" % (
 | 
					        basename = "%s-%s-py%d.%d.egg-info" % (
 | 
				
			||||||
            to_filename(safe_name(self.distribution.get_name())),
 | 
					            to_filename(safe_name(self.distribution.get_name())),
 | 
				
			||||||
            to_filename(safe_version(self.distribution.get_version())),
 | 
					            to_filename(safe_version(self.distribution.get_version())),
 | 
				
			||||||
            sys.version[:3]
 | 
					            *sys.version_info[:2]
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.target = os.path.join(self.install_dir, basename)
 | 
					        self.target = os.path.join(self.install_dir, basename)
 | 
				
			||||||
        self.outputs = [self.target]
 | 
					        self.outputs = [self.target]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -70,7 +70,7 @@ def get_python_version():
 | 
				
			||||||
    leaving off the patchlevel.  Sample return values could be '1.5'
 | 
					    leaving off the patchlevel.  Sample return values could be '1.5'
 | 
				
			||||||
    or '2.2'.
 | 
					    or '2.2'.
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
    return sys.version[:3]
 | 
					    return '%d.%d' % sys.version_info[:2]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def get_python_inc(plat_specific=0, prefix=None):
 | 
					def get_python_inc(plat_specific=0, prefix=None):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,7 +27,7 @@ class BuildTestCase(support.TempdirManager,
 | 
				
			||||||
        # build_platlib is 'build/lib.platform-x.x[-pydebug]'
 | 
					        # build_platlib is 'build/lib.platform-x.x[-pydebug]'
 | 
				
			||||||
        # examples:
 | 
					        # examples:
 | 
				
			||||||
        #   build/lib.macosx-10.3-i386-2.7
 | 
					        #   build/lib.macosx-10.3-i386-2.7
 | 
				
			||||||
        plat_spec = '.%s-%s' % (cmd.plat_name, sys.version[0:3])
 | 
					        plat_spec = '.%s-%d.%d' % (cmd.plat_name, *sys.version_info[:2])
 | 
				
			||||||
        if hasattr(sys, 'gettotalrefcount'):
 | 
					        if hasattr(sys, 'gettotalrefcount'):
 | 
				
			||||||
            self.assertTrue(cmd.build_platlib.endswith('-pydebug'))
 | 
					            self.assertTrue(cmd.build_platlib.endswith('-pydebug'))
 | 
				
			||||||
            plat_spec += '-pydebug'
 | 
					            plat_spec += '-pydebug'
 | 
				
			||||||
| 
						 | 
					@ -42,7 +42,8 @@ class BuildTestCase(support.TempdirManager,
 | 
				
			||||||
        self.assertEqual(cmd.build_temp, wanted)
 | 
					        self.assertEqual(cmd.build_temp, wanted)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # build_scripts is build/scripts-x.x
 | 
					        # build_scripts is build/scripts-x.x
 | 
				
			||||||
        wanted = os.path.join(cmd.build_base, 'scripts-' +  sys.version[0:3])
 | 
					        wanted = os.path.join(cmd.build_base,
 | 
				
			||||||
 | 
					                              'scripts-%d.%d' % sys.version_info[:2])
 | 
				
			||||||
        self.assertEqual(cmd.build_scripts, wanted)
 | 
					        self.assertEqual(cmd.build_scripts, wanted)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # executable is os.path.normpath(sys.executable)
 | 
					        # executable is os.path.normpath(sys.executable)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -593,7 +593,7 @@ class WindowsRegistryFinder:
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            registry_key = cls.REGISTRY_KEY
 | 
					            registry_key = cls.REGISTRY_KEY
 | 
				
			||||||
        key = registry_key.format(fullname=fullname,
 | 
					        key = registry_key.format(fullname=fullname,
 | 
				
			||||||
                                  sys_version=sys.version[:3])
 | 
					                                  sys_version='%d.%d' % sys.version_info[:2])
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
            with cls._open_registry(key) as hkey:
 | 
					            with cls._open_registry(key) as hkey:
 | 
				
			||||||
                filepath = _winreg.QueryValue(hkey, '')
 | 
					                filepath = _winreg.QueryValue(hkey, '')
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1911,10 +1911,10 @@ has the same effect as typing a particular string at the help> prompt.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def intro(self):
 | 
					    def intro(self):
 | 
				
			||||||
        self.output.write('''
 | 
					        self.output.write('''
 | 
				
			||||||
Welcome to Python %s's help utility!
 | 
					Welcome to Python {0}'s help utility!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If this is your first time using Python, you should definitely check out
 | 
					If this is your first time using Python, you should definitely check out
 | 
				
			||||||
the tutorial on the Internet at http://docs.python.org/%s/tutorial/.
 | 
					the tutorial on the Internet at http://docs.python.org/{0}/tutorial/.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Enter the name of any module, keyword, or topic to get help on writing
 | 
					Enter the name of any module, keyword, or topic to get help on writing
 | 
				
			||||||
Python programs and using Python modules.  To quit this help utility and
 | 
					Python programs and using Python modules.  To quit this help utility and
 | 
				
			||||||
| 
						 | 
					@ -1924,7 +1924,7 @@ To get a list of available modules, keywords, symbols, or topics, type
 | 
				
			||||||
"modules", "keywords", "symbols", or "topics".  Each module also comes
 | 
					"modules", "keywords", "symbols", or "topics".  Each module also comes
 | 
				
			||||||
with a one-line summary of what it does; to list the modules whose name
 | 
					with a one-line summary of what it does; to list the modules whose name
 | 
				
			||||||
or summary contain a given string such as "spam", type "modules spam".
 | 
					or summary contain a given string such as "spam", type "modules spam".
 | 
				
			||||||
''' % tuple([sys.version[:3]]*2))
 | 
					'''.format('%d.%d' % sys.version_info[:2]))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def list(self, items, columns=4, width=80):
 | 
					    def list(self, items, columns=4, width=80):
 | 
				
			||||||
        items = list(sorted(items))
 | 
					        items = list(sorted(items))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -304,7 +304,7 @@ def getsitepackages(prefixes=None):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if os.sep == '/':
 | 
					        if os.sep == '/':
 | 
				
			||||||
            sitepackages.append(os.path.join(prefix, "lib",
 | 
					            sitepackages.append(os.path.join(prefix, "lib",
 | 
				
			||||||
                                        "python" + sys.version[:3],
 | 
					                                        "python%d.%d" % sys.version_info[:2],
 | 
				
			||||||
                                        "site-packages"))
 | 
					                                        "site-packages"))
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            sitepackages.append(prefix)
 | 
					            sitepackages.append(prefix)
 | 
				
			||||||
| 
						 | 
					@ -317,7 +317,7 @@ def getsitepackages(prefixes=None):
 | 
				
			||||||
            if framework:
 | 
					            if framework:
 | 
				
			||||||
                sitepackages.append(
 | 
					                sitepackages.append(
 | 
				
			||||||
                        os.path.join("/Library", framework,
 | 
					                        os.path.join("/Library", framework,
 | 
				
			||||||
                            sys.version[:3], "site-packages"))
 | 
					                            '%d.%d' % sys.version_info[:2], "site-packages"))
 | 
				
			||||||
    return sitepackages
 | 
					    return sitepackages
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def addsitepackages(known_paths, prefixes=None):
 | 
					def addsitepackages(known_paths, prefixes=None):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -86,8 +86,8 @@ _SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include',
 | 
				
			||||||
 # FIXME don't rely on sys.version here, its format is an implementation detail
 | 
					 # FIXME don't rely on sys.version here, its format is an implementation detail
 | 
				
			||||||
 # of CPython, use sys.version_info or sys.hexversion
 | 
					 # of CPython, use sys.version_info or sys.hexversion
 | 
				
			||||||
_PY_VERSION = sys.version.split()[0]
 | 
					_PY_VERSION = sys.version.split()[0]
 | 
				
			||||||
_PY_VERSION_SHORT = sys.version[:3]
 | 
					_PY_VERSION_SHORT = '%d.%d' % sys.version_info[:2]
 | 
				
			||||||
_PY_VERSION_SHORT_NO_DOT = _PY_VERSION[0] + _PY_VERSION[2]
 | 
					_PY_VERSION_SHORT_NO_DOT = '%d%d' % sys.version_info[:2]
 | 
				
			||||||
_PREFIX = os.path.normpath(sys.prefix)
 | 
					_PREFIX = os.path.normpath(sys.prefix)
 | 
				
			||||||
_BASE_PREFIX = os.path.normpath(sys.base_prefix)
 | 
					_BASE_PREFIX = os.path.normpath(sys.base_prefix)
 | 
				
			||||||
_EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
 | 
					_EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
 | 
				
			||||||
| 
						 | 
					@ -386,7 +386,7 @@ def _generate_posix_vars():
 | 
				
			||||||
        module.build_time_vars = vars
 | 
					        module.build_time_vars = vars
 | 
				
			||||||
        sys.modules[name] = module
 | 
					        sys.modules[name] = module
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pybuilddir = 'build/lib.%s-%s' % (get_platform(), sys.version[:3])
 | 
					    pybuilddir = 'build/lib.%s-%s' % (get_platform(), _PY_VERSION_SHORT)
 | 
				
			||||||
    if hasattr(sys, "gettotalrefcount"):
 | 
					    if hasattr(sys, "gettotalrefcount"):
 | 
				
			||||||
        pybuilddir += '-pydebug'
 | 
					        pybuilddir += '-pydebug'
 | 
				
			||||||
    os.makedirs(pybuilddir, exist_ok=True)
 | 
					    os.makedirs(pybuilddir, exist_ok=True)
 | 
				
			||||||
| 
						 | 
					@ -518,7 +518,7 @@ def get_config_vars(*args):
 | 
				
			||||||
        _CONFIG_VARS['exec_prefix'] = _EXEC_PREFIX
 | 
					        _CONFIG_VARS['exec_prefix'] = _EXEC_PREFIX
 | 
				
			||||||
        _CONFIG_VARS['py_version'] = _PY_VERSION
 | 
					        _CONFIG_VARS['py_version'] = _PY_VERSION
 | 
				
			||||||
        _CONFIG_VARS['py_version_short'] = _PY_VERSION_SHORT
 | 
					        _CONFIG_VARS['py_version_short'] = _PY_VERSION_SHORT
 | 
				
			||||||
        _CONFIG_VARS['py_version_nodot'] = _PY_VERSION[0] + _PY_VERSION[2]
 | 
					        _CONFIG_VARS['py_version_nodot'] = _PY_VERSION_SHORT_NO_DOT
 | 
				
			||||||
        _CONFIG_VARS['installed_base'] = _BASE_PREFIX
 | 
					        _CONFIG_VARS['installed_base'] = _BASE_PREFIX
 | 
				
			||||||
        _CONFIG_VARS['base'] = _PREFIX
 | 
					        _CONFIG_VARS['base'] = _PREFIX
 | 
				
			||||||
        _CONFIG_VARS['installed_platbase'] = _BASE_EXEC_PREFIX
 | 
					        _CONFIG_VARS['installed_platbase'] = _BASE_EXEC_PREFIX
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -40,7 +40,7 @@ def setup_module(machinery, name, path=None):
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
        root = machinery.WindowsRegistryFinder.REGISTRY_KEY
 | 
					        root = machinery.WindowsRegistryFinder.REGISTRY_KEY
 | 
				
			||||||
    key = root.format(fullname=name,
 | 
					    key = root.format(fullname=name,
 | 
				
			||||||
                      sys_version=sys.version[:3])
 | 
					                      sys_version='%d.%d' % sys.version_info[:2])
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
        with temp_module(name, "a = 1") as location:
 | 
					        with temp_module(name, "a = 1") as location:
 | 
				
			||||||
            subkey = CreateKey(HKEY_CURRENT_USER, key)
 | 
					            subkey = CreateKey(HKEY_CURRENT_USER, key)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -238,13 +238,14 @@ class HelperFunctionsTests(unittest.TestCase):
 | 
				
			||||||
            self.assertEqual(len(dirs), 2)
 | 
					            self.assertEqual(len(dirs), 2)
 | 
				
			||||||
            wanted = os.path.join('/Library',
 | 
					            wanted = os.path.join('/Library',
 | 
				
			||||||
                                  sysconfig.get_config_var("PYTHONFRAMEWORK"),
 | 
					                                  sysconfig.get_config_var("PYTHONFRAMEWORK"),
 | 
				
			||||||
                                  sys.version[:3],
 | 
					                                  '%d.%d' % sys.version_info[:2],
 | 
				
			||||||
                                  'site-packages')
 | 
					                                  'site-packages')
 | 
				
			||||||
            self.assertEqual(dirs[1], wanted)
 | 
					            self.assertEqual(dirs[1], wanted)
 | 
				
			||||||
        elif os.sep == '/':
 | 
					        elif os.sep == '/':
 | 
				
			||||||
            # OS X non-framwework builds, Linux, FreeBSD, etc
 | 
					            # OS X non-framwework builds, Linux, FreeBSD, etc
 | 
				
			||||||
            self.assertEqual(len(dirs), 1)
 | 
					            self.assertEqual(len(dirs), 1)
 | 
				
			||||||
            wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
 | 
					            wanted = os.path.join('xoxo', 'lib',
 | 
				
			||||||
 | 
					                                  'python%d.%d' % sys.version_info[:2],
 | 
				
			||||||
                                  'site-packages')
 | 
					                                  'site-packages')
 | 
				
			||||||
            self.assertEqual(dirs[0], wanted)
 | 
					            self.assertEqual(dirs[0], wanted)
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,7 +51,7 @@ class BaseTest(unittest.TestCase):
 | 
				
			||||||
            self.include = 'Include'
 | 
					            self.include = 'Include'
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            self.bindir = 'bin'
 | 
					            self.bindir = 'bin'
 | 
				
			||||||
            self.lib = ('lib', 'python%s' % sys.version[:3])
 | 
					            self.lib = ('lib', 'python%d.%d' % sys.version_info[:2])
 | 
				
			||||||
            self.include = 'include'
 | 
					            self.include = 'include'
 | 
				
			||||||
        if sys.platform == 'darwin' and '__PYVENV_LAUNCHER__' in os.environ:
 | 
					        if sys.platform == 'darwin' and '__PYVENV_LAUNCHER__' in os.environ:
 | 
				
			||||||
            executable = os.environ['__PYVENV_LAUNCHER__']
 | 
					            executable = os.environ['__PYVENV_LAUNCHER__']
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -133,7 +133,7 @@ __all__ = [
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# used in User-Agent header sent
 | 
					# used in User-Agent header sent
 | 
				
			||||||
__version__ = sys.version[:3]
 | 
					__version__ = '%d.%d' % sys.version_info[:2]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_opener = None
 | 
					_opener = None
 | 
				
			||||||
def urlopen(url, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT,
 | 
					def urlopen(url, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -151,7 +151,7 @@ def escape(s):
 | 
				
			||||||
    return s.replace(">", ">",)
 | 
					    return s.replace(">", ">",)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# used in User-Agent header sent
 | 
					# used in User-Agent header sent
 | 
				
			||||||
__version__ = sys.version[:3]
 | 
					__version__ = '%d.%d' % sys.version_info[:2]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# xmlrpc integer limits
 | 
					# xmlrpc integer limits
 | 
				
			||||||
MAXINT =  2**31-1
 | 
					MAXINT =  2**31-1
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -568,7 +568,7 @@ $(BUILDPYTHON):	Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
 | 
				
			||||||
	$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
 | 
						$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
platform: $(BUILDPYTHON) pybuilddir.txt
 | 
					platform: $(BUILDPYTHON) pybuilddir.txt
 | 
				
			||||||
	$(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print(get_platform()+"-"+sys.version[0:3])' >platform
 | 
						$(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' >platform
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Create build directory and generate the sysconfig build-time data there.
 | 
					# Create build directory and generate the sysconfig build-time data there.
 | 
				
			||||||
# pybuilddir.txt contains the name of the build dir and is used for
 | 
					# pybuilddir.txt contains the name of the build dir and is used for
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -888,22 +888,23 @@ const unsigned char _Py_M__importlib_external[] = {
 | 
				
			||||||
    87,105,110,100,111,119,115,82,101,103,105,115,116,114,121,70,
 | 
					    87,105,110,100,111,119,115,82,101,103,105,115,116,114,121,70,
 | 
				
			||||||
    105,110,100,101,114,46,95,111,112,101,110,95,114,101,103,105,
 | 
					    105,110,100,101,114,46,95,111,112,101,110,95,114,101,103,105,
 | 
				
			||||||
    115,116,114,121,99,2,0,0,0,0,0,0,0,6,0,0,
 | 
					    115,116,114,121,99,2,0,0,0,0,0,0,0,6,0,0,
 | 
				
			||||||
    0,16,0,0,0,67,0,0,0,115,143,0,0,0,124,0,
 | 
					    0,16,0,0,0,67,0,0,0,115,147,0,0,0,124,0,
 | 
				
			||||||
    0,106,0,0,114,21,0,124,0,0,106,1,0,125,2,0,
 | 
					    0,106,0,0,114,21,0,124,0,0,106,1,0,125,2,0,
 | 
				
			||||||
    110,9,0,124,0,0,106,2,0,125,2,0,124,2,0,106,
 | 
					    110,9,0,124,0,0,106,2,0,125,2,0,124,2,0,106,
 | 
				
			||||||
    3,0,100,1,0,124,1,0,100,2,0,116,4,0,106,5,
 | 
					    3,0,100,1,0,124,1,0,100,2,0,100,3,0,116,4,
 | 
				
			||||||
    0,100,0,0,100,3,0,133,2,0,25,131,0,2,125,3,
 | 
					    0,106,5,0,100,0,0,100,4,0,133,2,0,25,22,131,
 | 
				
			||||||
    0,121,47,0,124,0,0,106,6,0,124,3,0,131,1,0,
 | 
					    0,2,125,3,0,121,47,0,124,0,0,106,6,0,124,3,
 | 
				
			||||||
    143,25,0,125,4,0,116,7,0,106,8,0,124,4,0,100,
 | 
					    0,131,1,0,143,25,0,125,4,0,116,7,0,106,8,0,
 | 
				
			||||||
    4,0,131,2,0,125,5,0,87,100,0,0,81,82,88,87,
 | 
					    124,4,0,100,5,0,131,2,0,125,5,0,87,100,0,0,
 | 
				
			||||||
    110,22,0,4,116,9,0,107,10,0,114,138,0,1,1,1,
 | 
					    81,82,88,87,110,22,0,4,116,9,0,107,10,0,114,142,
 | 
				
			||||||
    100,0,0,83,89,110,1,0,88,124,5,0,83,41,5,78,
 | 
					    0,1,1,1,100,0,0,83,89,110,1,0,88,124,5,0,
 | 
				
			||||||
    114,119,0,0,0,90,11,115,121,115,95,118,101,114,115,105,
 | 
					    83,41,6,78,114,119,0,0,0,90,11,115,121,115,95,118,
 | 
				
			||||||
    111,110,114,80,0,0,0,114,30,0,0,0,41,10,218,11,
 | 
					    101,114,115,105,111,110,122,5,37,100,46,37,100,114,56,0,
 | 
				
			||||||
    68,69,66,85,71,95,66,85,73,76,68,218,18,82,69,71,
 | 
					    0,0,114,30,0,0,0,41,10,218,11,68,69,66,85,71,
 | 
				
			||||||
    73,83,84,82,89,95,75,69,89,95,68,69,66,85,71,218,
 | 
					    95,66,85,73,76,68,218,18,82,69,71,73,83,84,82,89,
 | 
				
			||||||
    12,82,69,71,73,83,84,82,89,95,75,69,89,114,47,0,
 | 
					    95,75,69,89,95,68,69,66,85,71,218,12,82,69,71,73,
 | 
				
			||||||
    0,0,114,7,0,0,0,218,7,118,101,114,115,105,111,110,
 | 
					    83,84,82,89,95,75,69,89,114,47,0,0,0,114,7,0,
 | 
				
			||||||
 | 
					    0,0,218,12,118,101,114,115,105,111,110,95,105,110,102,111,
 | 
				
			||||||
    114,166,0,0,0,114,163,0,0,0,90,10,81,117,101,114,
 | 
					    114,166,0,0,0,114,163,0,0,0,90,10,81,117,101,114,
 | 
				
			||||||
    121,86,97,108,117,101,114,40,0,0,0,41,6,114,164,0,
 | 
					    121,86,97,108,117,101,114,40,0,0,0,41,6,114,164,0,
 | 
				
			||||||
    0,0,114,119,0,0,0,90,12,114,101,103,105,115,116,114,
 | 
					    0,0,114,119,0,0,0,90,12,114,101,103,105,115,116,114,
 | 
				
			||||||
| 
						 | 
					@ -911,7 +912,7 @@ const unsigned char _Py_M__importlib_external[] = {
 | 
				
			||||||
    218,8,102,105,108,101,112,97,116,104,114,4,0,0,0,114,
 | 
					    218,8,102,105,108,101,112,97,116,104,114,4,0,0,0,114,
 | 
				
			||||||
    4,0,0,0,114,5,0,0,0,218,16,95,115,101,97,114,
 | 
					    4,0,0,0,114,5,0,0,0,218,16,95,115,101,97,114,
 | 
				
			||||||
    99,104,95,114,101,103,105,115,116,114,121,77,2,0,0,115,
 | 
					    99,104,95,114,101,103,105,115,116,114,121,77,2,0,0,115,
 | 
				
			||||||
    22,0,0,0,0,2,9,1,12,2,9,1,15,1,22,1,
 | 
					    22,0,0,0,0,2,9,1,12,2,9,1,15,1,26,1,
 | 
				
			||||||
    3,1,18,1,29,1,13,1,9,1,122,38,87,105,110,100,
 | 
					    3,1,18,1,29,1,13,1,9,1,122,38,87,105,110,100,
 | 
				
			||||||
    111,119,115,82,101,103,105,115,116,114,121,70,105,110,100,101,
 | 
					    111,119,115,82,101,103,105,115,116,114,121,70,105,110,100,101,
 | 
				
			||||||
    114,46,95,115,101,97,114,99,104,95,114,101,103,105,115,116,
 | 
					    114,46,95,115,101,97,114,99,104,95,114,101,103,105,115,116,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -218,7 +218,7 @@ def main():
 | 
				
			||||||
    ishome = os.path.exists(os.path.join(prefix, 'Python', 'ceval.c'))
 | 
					    ishome = os.path.exists(os.path.join(prefix, 'Python', 'ceval.c'))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # locations derived from options
 | 
					    # locations derived from options
 | 
				
			||||||
    version = sys.version[:3]
 | 
					    version = '%d.%d' % sys.version_info[:2]
 | 
				
			||||||
    flagged_version = version + sys.abiflags
 | 
					    flagged_version = version + sys.abiflags
 | 
				
			||||||
    if win:
 | 
					    if win:
 | 
				
			||||||
        extensions_c = 'frozen_extensions.c'
 | 
					        extensions_c = 'frozen_extensions.c'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -36,8 +36,8 @@ option to produce this format (since it is the original v7 Unix format).
 | 
				
			||||||
"""
 | 
					"""
 | 
				
			||||||
import os, sys
 | 
					import os, sys
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PYTHONLIB = 'libpython'+sys.version[:3]+'.a'
 | 
					PYTHONLIB = 'libpython%d.%d.a' % sys.version_info[:2]
 | 
				
			||||||
PC_PYTHONLIB = 'Python'+sys.version[0]+sys.version[2]+'.dll'
 | 
					PC_PYTHONLIB = 'Python%d%d.dll' % sys.version_info[:2]
 | 
				
			||||||
NM = 'nm -p -g %s'                      # For Linux, use "nm -g %s"
 | 
					NM = 'nm -p -g %s'                      # For Linux, use "nm -g %s"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def symbols(lib=PYTHONLIB,types=('T','C','D')):
 | 
					def symbols(lib=PYTHONLIB,types=('T','C','D')):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								setup.py
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								setup.py
									
										
									
									
									
								
							| 
						 | 
					@ -2226,7 +2226,7 @@ def main():
 | 
				
			||||||
    setup(# PyPI Metadata (PEP 301)
 | 
					    setup(# PyPI Metadata (PEP 301)
 | 
				
			||||||
          name = "Python",
 | 
					          name = "Python",
 | 
				
			||||||
          version = sys.version.split()[0],
 | 
					          version = sys.version.split()[0],
 | 
				
			||||||
          url = "http://www.python.org/%s" % sys.version[:3],
 | 
					          url = "http://www.python.org/%d.%d" % sys.version_info[:2],
 | 
				
			||||||
          maintainer = "Guido van Rossum and the Python community",
 | 
					          maintainer = "Guido van Rossum and the Python community",
 | 
				
			||||||
          maintainer_email = "python-dev@python.org",
 | 
					          maintainer_email = "python-dev@python.org",
 | 
				
			||||||
          description = "A high-level object-oriented programming language",
 | 
					          description = "A high-level object-oriented programming language",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue