# HG changeset patch # User Lukas Vacek # Date 1397579780 -3600 # Tue Apr 15 17:36:20 2014 +0100 # Node ID 8694de4fdcfe9969076d4e719665219d5d4df048 # Parent 4ab2d8fac52b3543b4307127f23c4bae58f7bd26 setup.py: report modules which built but import failed diff -r 4ab2d8fac52b -r 8694de4fdcfe setup.py --- a/setup.py Tue Apr 15 12:01:57 2014 -0400 +++ b/setup.py Tue Apr 15 17:36:20 2014 +0100 @@ -167,6 +167,7 @@ def __init__(self, dist): build_ext.__init__(self, dist) self.failed = [] + self.failed_on_import = [] def build_extensions(self): @@ -247,8 +248,8 @@ build_ext.build_extensions(self) longest = max([len(e.name) for e in self.extensions]) - if self.failed: - longest = max(longest, max([len(name) for name in self.failed])) + if self.failed or self.failed_on_import: + longest = max(longest, max([len(name) for name in self.failed+self.failed_on_import])) def print_three_column(lst): lst.sort(key=str.lower) @@ -276,6 +277,14 @@ print_three_column(failed) print() + if self.failed_on_import: + failed = self.failed_on_import[:] + print() + print("Following modules built successfully" + " but were removed because they could not be imported:") + print_three_column(failed) + print() + def build_extension(self, ext): if ext.name == '_ctypes': @@ -334,7 +343,7 @@ try: importlib._bootstrap._SpecMethods(spec).load() except ImportError as why: - self.failed.append(ext.name) + self.failed_on_import.append(ext.name) self.announce('*** WARNING: renaming "%s" since importing it' ' failed: %s' % (ext.name, why), level=3) assert not self.inplace