From f7dafb09ce8861752012fc9afd53324c37718480 Mon Sep 17 00:00:00 2001 From: John Sirois Date: Sat, 18 Aug 2018 11:23:02 -0600 Subject: [PATCH 1/3] Expand the range of supported setuptools. We now just exclude the island where setuptools ran a disruptive de-vendoring experiment. --- pex/version.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pex/version.py b/pex/version.py index 352d68545..36c37a9ce 100644 --- a/pex/version.py +++ b/pex/version.py @@ -3,9 +3,10 @@ __version__ = '1.4.5' -# NB: If we upgrade to setuptools>=34 pex's bootstrap code in `PEXBuilder` will need an update to -# include the `packaging` package in the `.bootstrap/` code since we use -# `packaging.specifiers.SpecifierSet` - indirectly - through `pkg_resources.Requirement.specifier`. -SETUPTOOLS_REQUIREMENT = 'setuptools>=20.3,<34.0' +# Versions 34.0.0 through 35.0.2 (last pre-36.0.0) de-vendored dependencies which causes problems +# for pex code so we exclude that range. +__exclusions = '!=34.*,!=35.*' +SETUPTOOLS_REQUIREMENT = 'setuptools>=20.3,<41,{exclusions}'.format(exclusions=__exclusions) +del __exclusions -WHEEL_REQUIREMENT = 'wheel>=0.26.0,<0.32.0' +WHEEL_REQUIREMENT = 'wheel>=0.26.0,<0.32' From 3696b3aaec6c5329fc3dc4f6685266e80c83bc14 Mon Sep 17 00:00:00 2001 From: John Sirois Date: Sat, 18 Aug 2018 12:06:07 -0600 Subject: [PATCH 2/3] Ensure we have a modern pip in tests that understands version exclusions. --- pex/testing.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pex/testing.py b/pex/testing.py index 856c3e522..558ba97f3 100644 --- a/pex/testing.py +++ b/pex/testing.py @@ -332,6 +332,7 @@ def ensure_python_distribution(version): if not os.path.exists(interpreter_location): os.environ['PYENV_ROOT'] = pyenv_root subprocess.check_call([pyenv, 'install', '--keep', version]) + subprocess.check_call([pip, 'install', '-U', 'pip']) subprocess.check_call([pip, 'install', SETUPTOOLS_REQUIREMENT]) python = os.path.join(interpreter_location, 'bin', 'python' + version[0:3]) From b35a1c69b92fd0bdf6b8e545f044010c353ff8de Mon Sep 17 00:00:00 2001 From: John Sirois Date: Tue, 21 Aug 2018 13:43:32 -0600 Subject: [PATCH 3/3] Inline exclusions in the setuptools requirement. --- pex/version.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pex/version.py b/pex/version.py index 36c37a9ce..4d5c8bc15 100644 --- a/pex/version.py +++ b/pex/version.py @@ -5,8 +5,6 @@ # Versions 34.0.0 through 35.0.2 (last pre-36.0.0) de-vendored dependencies which causes problems # for pex code so we exclude that range. -__exclusions = '!=34.*,!=35.*' -SETUPTOOLS_REQUIREMENT = 'setuptools>=20.3,<41,{exclusions}'.format(exclusions=__exclusions) -del __exclusions +SETUPTOOLS_REQUIREMENT = 'setuptools>=20.3,<41,!=34.*,!=35.*' WHEEL_REQUIREMENT = 'wheel>=0.26.0,<0.32'