diff options
Diffstat (limited to 'setuptools/dist.py')
-rw-r--r-- | setuptools/dist.py | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/setuptools/dist.py b/setuptools/dist.py index b8bd7490..8de95a38 100644 --- a/setuptools/dist.py +++ b/setuptools/dist.py @@ -34,11 +34,12 @@ _Distribution = _get_unpatched(_Distribution) def _patch_distribution_metadata_write_pkg_info(): """ - Workaround issue #197 - Python 3.1 uses an environment-local encoding to - save the pkg_info. Monkey-patch its write_pkg_info method to correct - this undesirable behavior. + Workaround issue #197 - Python 3 prior to 3.2.2 uses an environment-local + encoding to save the pkg_info. Monkey-patch its write_pkg_info method to + correct this undesirable behavior. """ - if sys.version_info[:2] != (3,1): + environment_local = (3,) <= sys.version_info[:3] < (3, 2, 2) + if not environment_local: return # from Python 3.4 @@ -279,12 +280,13 @@ class Distribution(_Distribution): def fetch_build_eggs(self, requires): """Resolve pre-setup requirements""" - from pkg_resources import working_set, parse_requirements - for dist in working_set.resolve( - parse_requirements(requires), installer=self.fetch_build_egg, - replace_conflicting=True - ): - working_set.add(dist, replace=True) + resolved_dists = pkg_resources.working_set.resolve( + pkg_resources.parse_requirements(requires), + installer=self.fetch_build_egg, + replace_conflicting=True, + ) + for dist in resolved_dists: + pkg_resources.working_set.add(dist, replace=True) def finalize_options(self): _Distribution.finalize_options(self) |