diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2020-05-30 14:55:19 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2020-05-30 14:55:19 -0400 |
commit | 020b6a46477e6ddf9dc9e9e2b70b4c8b66ac50c6 (patch) | |
tree | 39826887f80b3ff252010f0b5e0e9ca7bc2c03b4 /setuptools/__init__.py | |
parent | f0ba60597c0a07867e39ed2ce0733b6cac3ef470 (diff) | |
parent | 74de4e985eda49e38ece5805e05197dd4d2d9c8a (diff) | |
download | external_python_setuptools-020b6a46477e6ddf9dc9e9e2b70b4c8b66ac50c6.tar.gz external_python_setuptools-020b6a46477e6ddf9dc9e9e2b70b4c8b66ac50c6.tar.bz2 external_python_setuptools-020b6a46477e6ddf9dc9e9e2b70b4c8b66ac50c6.zip |
Merge branch 'master' into distutils
Diffstat (limited to 'setuptools/__init__.py')
-rw-r--r-- | setuptools/__init__.py | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/setuptools/__init__.py b/setuptools/__init__.py index 9df71a6d..7a1f9f4f 100644 --- a/setuptools/__init__.py +++ b/setuptools/__init__.py @@ -131,10 +131,27 @@ if PY3: def _install_setup_requires(attrs): # Note: do not use `setuptools.Distribution` directly, as # our PEP 517 backend patch `distutils.core.Distribution`. - dist = distutils.core.Distribution(dict( - (k, v) for k, v in attrs.items() - if k in ('dependency_links', 'setup_requires') - )) + class MinimalDistribution(distutils.core.Distribution): + """ + A minimal version of a distribution for supporting the + fetch_build_eggs interface. + """ + def __init__(self, attrs): + _incl = 'dependency_links', 'setup_requires' + filtered = { + k: attrs[k] + for k in set(_incl) & set(attrs) + } + distutils.core.Distribution.__init__(self, filtered) + + def finalize_options(self): + """ + Disable finalize_options to avoid building the working set. + Ref #2158. + """ + + dist = MinimalDistribution(attrs) + # Honor setup.cfg's options. dist.parse_config_files(ignore_option_errors=True) if dist.setup_requires: |