summaryrefslogtreecommitdiff
path: root/setuptools/dist.py
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools/dist.py')
-rw-r--r--setuptools/dist.py22
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)