summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/packaging/command/bdist_msi.py5
-rw-r--r--Lib/packaging/command/bdist_wininst.py2
-rw-r--r--Lib/packaging/command/build.py6
-rw-r--r--Lib/packaging/command/install_dist.py2
-rw-r--r--Lib/packaging/compiler/cygwinccompiler.py4
-rw-r--r--Lib/packaging/markers.py12
-rw-r--r--Lib/packaging/pypi/simple.py4
-rw-r--r--Lib/packaging/tests/test_command_build.py5
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)