diff options
-rw-r--r-- | Lib/packaging/command/bdist_msi.py | 5 | ||||
-rw-r--r-- | Lib/packaging/command/bdist_wininst.py | 2 | ||||
-rw-r--r-- | Lib/packaging/command/build.py | 6 | ||||
-rw-r--r-- | Lib/packaging/command/install_dist.py | 2 | ||||
-rw-r--r-- | Lib/packaging/compiler/cygwinccompiler.py | 4 | ||||
-rw-r--r-- | Lib/packaging/markers.py | 12 | ||||
-rw-r--r-- | Lib/packaging/pypi/simple.py | 4 | ||||
-rw-r--r-- | Lib/packaging/tests/test_command_build.py | 5 |
8 files changed, 23 insertions, 17 deletions
diff --git a/Lib/packaging/command/bdist_msi.py b/Lib/packaging/command/bdist_msi.py index 4f8eca6..995eec5 100644 --- a/Lib/packaging/command/bdist_msi.py +++ b/Lib/packaging/command/bdist_msi.py @@ -7,9 +7,8 @@ import sys import os import msilib - -from sysconfig import get_python_version from shutil import rmtree +from sysconfig import get_python_version from packaging.command.cmd import Command from packaging.version import NormalizedVersion from packaging.errors import PackagingOptionError @@ -204,7 +203,7 @@ class bdist_msi(Command): target_version = self.target_version if not target_version: assert self.skip_build, "Should have already checked this" - target_version = sys.version[0:3] + target_version = '%s.%s' % sys.version_info[:2] plat_specifier = ".%s-%s" % (self.plat_name, target_version) build = self.get_finalized_command('build') build.build_lib = os.path.join(build.build_base, diff --git a/Lib/packaging/command/bdist_wininst.py b/Lib/packaging/command/bdist_wininst.py index 4e6b79e..3c66360 100644 --- a/Lib/packaging/command/bdist_wininst.py +++ b/Lib/packaging/command/bdist_wininst.py @@ -136,7 +136,7 @@ class bdist_wininst(Command): target_version = self.target_version if not target_version: assert self.skip_build, "Should have already checked this" - target_version = sys.version[0:3] + target_version = '%s.%s' % sys.version_info[:2] plat_specifier = ".%s-%s" % (self.plat_name, target_version) build = self.get_finalized_command('build') build.build_lib = os.path.join(build.build_base, diff --git a/Lib/packaging/command/build.py b/Lib/packaging/command/build.py index 2e5eb8b..fcb50df 100644 --- a/Lib/packaging/command/build.py +++ b/Lib/packaging/command/build.py @@ -82,8 +82,8 @@ class build(Command): raise PackagingOptionError( "--plat-name only supported on Windows (try " "using './configure --help' on your platform)") - - plat_specifier = ".%s-%s" % (self.plat_name, sys.version[0:3]) + pyversion = '%s.%s' % sys.version_info[:2] + plat_specifier = ".%s-%s" % (self.plat_name, pyversion) # 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 @@ -116,7 +116,7 @@ class build(Command): 'temp' + plat_specifier) if self.build_scripts is None: self.build_scripts = os.path.join(self.build_base, - 'scripts-' + sys.version[0:3]) + 'scripts-' + pyversion) if self.executable is None: self.executable = os.path.normpath(sys.executable) diff --git a/Lib/packaging/command/install_dist.py b/Lib/packaging/command/install_dist.py index c54da6f..8388dc9 100644 --- a/Lib/packaging/command/install_dist.py +++ b/Lib/packaging/command/install_dist.py @@ -242,7 +242,7 @@ class install_dist(Command): # $platbase in the other installation directories and not worry # about needing recursive variable expansion (shudder). - py_version = sys.version.split()[0] + py_version = '%s.%s' % sys.version_info[:2] prefix, exec_prefix, srcdir, projectbase = get_config_vars( 'prefix', 'exec_prefix', 'srcdir', 'projectbase') diff --git a/Lib/packaging/compiler/cygwinccompiler.py b/Lib/packaging/compiler/cygwinccompiler.py index 3eec067..9552667 100644 --- a/Lib/packaging/compiler/cygwinccompiler.py +++ b/Lib/packaging/compiler/cygwinccompiler.py @@ -56,6 +56,10 @@ from packaging.errors import PackagingExecError, CompileError, UnknownFileError from packaging.util import get_compiler_versions import sysconfig +# TODO use platform instead of sys.version +# (platform does unholy sys.version parsing too, but at least it gives other +# VMs a chance to override the returned values) + def get_msvcr(): """Include the appropriate MSVC runtime library if Python was built diff --git a/Lib/packaging/markers.py b/Lib/packaging/markers.py index 4bbac7e..63fdc19 100644 --- a/Lib/packaging/markers.py +++ b/Lib/packaging/markers.py @@ -1,11 +1,10 @@ """Parser for the environment markers micro-language defined in PEP 345.""" +import os import sys import platform -import os - -from tokenize import tokenize, NAME, OP, STRING, ENDMARKER, ENCODING from io import BytesIO +from tokenize import tokenize, NAME, OP, STRING, ENDMARKER, ENCODING __all__ = ['interpret'] @@ -27,12 +26,15 @@ def _operate(operation, x, y): # restricted set of variables _VARS = {'sys.platform': sys.platform, - 'python_version': sys.version[:3], + 'python_version': '%s.%s' % sys.version_info[:2], + # FIXME parsing sys.platform is not reliable, but there is no other + # way to get e.g. 2.7.2+, and the PEP is defined with sys.version 'python_full_version': sys.version.split(' ', 1)[0], 'os.name': os.name, 'platform.version': platform.version(), 'platform.machine': platform.machine(), - 'platform.python_implementation': platform.python_implementation()} + 'platform.python_implementation': platform.python_implementation(), + } class _Operation: diff --git a/Lib/packaging/pypi/simple.py b/Lib/packaging/pypi/simple.py index 44d98e1..e26d55d 100644 --- a/Lib/packaging/pypi/simple.py +++ b/Lib/packaging/pypi/simple.py @@ -35,8 +35,8 @@ __all__ = ['Crawler', 'DEFAULT_SIMPLE_INDEX_URL'] DEFAULT_SIMPLE_INDEX_URL = "http://a.pypi.python.org/simple/" DEFAULT_HOSTS = ("*",) SOCKET_TIMEOUT = 15 -USER_AGENT = "Python-urllib/%s packaging/%s" % ( - sys.version[:3], packaging_version) +USER_AGENT = "Python-urllib/%s.%s packaging/%s" % ( + sys.version_info[0], sys.version_info[1], packaging_version) # -- Regexps ------------------------------------------------- EGG_FRAGMENT = re.compile(r'^egg=([-A-Za-z0-9_.]+)$') diff --git a/Lib/packaging/tests/test_command_build.py b/Lib/packaging/tests/test_command_build.py index 91fbe42..280d709 100644 --- a/Lib/packaging/tests/test_command_build.py +++ b/Lib/packaging/tests/test_command_build.py @@ -26,7 +26,8 @@ class BuildTestCase(support.TempdirManager, # build_platlib is 'build/lib.platform-x.x[-pydebug]' # examples: # build/lib.macosx-10.3-i386-2.7 - plat_spec = '.%s-%s' % (cmd.plat_name, sys.version[0:3]) + pyversion = '%s.%s' % sys.version_info[:2] + plat_spec = '.%s-%s' % (cmd.plat_name, pyversion) if hasattr(sys, 'gettotalrefcount'): self.assertTrue(cmd.build_platlib.endswith('-pydebug')) plat_spec += '-pydebug' @@ -41,7 +42,7 @@ class BuildTestCase(support.TempdirManager, self.assertEqual(cmd.build_temp, wanted) # 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-' + pyversion) self.assertEqual(cmd.build_scripts, wanted) # executable is os.path.normpath(sys.executable) |