From 32a6dd38a56e40b408317dc922b0e9f703b9be71 Mon Sep 17 00:00:00 2001 From: Dan Ryan Date: Sun, 11 Nov 2018 23:58:52 -0500 Subject: [PATCH] Support python 2 parsing Signed-off-by: Dan Ryan --- pipenv/vendor/requirementslib/models/setup_info.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pipenv/vendor/requirementslib/models/setup_info.py b/pipenv/vendor/requirementslib/models/setup_info.py index 247d63f2..561ba156 100644 --- a/pipenv/vendor/requirementslib/models/setup_info.py +++ b/pipenv/vendor/requirementslib/models/setup_info.py @@ -221,19 +221,22 @@ class SetupInfo(object): def run_setup(self): if self.setup_py is not None and self.setup_py.exists(): with cd(self.setup_py.parent), _suppress_distutils_logs(): - from setuptools.dist import distutils - save_argv = sys.argv.copy() - try: + if sys.version_info < (3, 5): + save_argv = sys.argv[:] + else: + save_argv = sys.argv.copy() # This is for you, Hynek # see https://github.com/hynek/environ_config/blob/69b1c8a/setup.py + try: global _setup_distribution, _setup_stop_after _setup_stop_after = "run" script_name = self.setup_py.as_posix() g = {"__file__": script_name, "__name__": "__main__"} + l = {} sys.argv[0] = script_name sys.argv[1:] = ["egg_info", "--egg-base", self.base_dir] with open(script_name, 'rb') as f: - exec(f.read(), g) + exec(f.read(), g, l) finally: _setup_stop_after = None sys.argv = save_argv