summaryrefslogtreecommitdiff
path: root/setuptools/installer.py
diff options
context:
space:
mode:
authorBenoit Pierre <benoit.pierre@gmail.com>2019-11-26 18:46:34 +0100
committerBenoit Pierre <benoit.pierre@gmail.com>2019-11-26 19:11:46 +0100
commit6f46a4b703d4db225e96bb871e1bf6a7c3597329 (patch)
treeaa150119f8b4bf5500a66bb0e49547d13fc41abc /setuptools/installer.py
parente84f616a6507ec9115fad68b221cbf5333d9d2d9 (diff)
downloadpython-setuptools-git-6f46a4b703d4db225e96bb871e1bf6a7c3597329.tar.gz
fix support for easy_install's find-links option in setup.cfg
Diffstat (limited to 'setuptools/installer.py')
-rw-r--r--setuptools/installer.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/setuptools/installer.py b/setuptools/installer.py
index 35bc3cc5..a5816608 100644
--- a/setuptools/installer.py
+++ b/setuptools/installer.py
@@ -7,11 +7,20 @@ from distutils.errors import DistutilsError
import pkg_resources
from setuptools.command.easy_install import easy_install
+from setuptools.extern import six
from setuptools.wheel import Wheel
from .py31compat import TemporaryDirectory
+def _fixup_find_links(find_links):
+ """Ensure find-links option end-up being a list of strings."""
+ if isinstance(find_links, six.string_types):
+ return find_links.split()
+ assert isinstance(find_links, (tuple, list))
+ return find_links
+
+
def _legacy_fetch_build_egg(dist, req):
"""Fetch an egg needed for building.
@@ -31,7 +40,7 @@ def _legacy_fetch_build_egg(dist, req):
if dist.dependency_links:
links = dist.dependency_links[:]
if 'find_links' in opts:
- links = opts['find_links'][1] + links
+ links = _fixup_find_links(opts['find_links'][1]) + links
opts['find_links'] = ('setup', links)
install_dir = dist.get_egg_cache_dir()
cmd = easy_install(
@@ -84,7 +93,7 @@ def fetch_build_egg(dist, req):
else:
index_url = None
if 'find_links' in opts:
- find_links = opts['find_links'][1][:]
+ find_links = _fixup_find_links(opts['find_links'][1])[:]
else:
find_links = []
if dist.dependency_links: