[Python-checkins] cpython: setup.py: report modules which built but import failed (closes #21282)
benjamin.peterson
python-checkins at python.org
Wed Apr 30 17:06:39 CEST 2014
http://hg.python.org/cpython/rev/981242c8fc86
changeset: 90526:981242c8fc86
user: Benjamin Peterson <benjamin at python.org>
date: Wed Apr 30 11:06:16 2014 -0400
summary:
setup.py: report modules which built but import failed (closes #21282)
Patch by Lukas Vacek.
files:
Misc/ACKS | 1 +
setup.py | 16 +++++++++++++---
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/Misc/ACKS b/Misc/ACKS
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1356,6 +1356,7 @@
Daniel Urban
Michael Urman
Hector Urtubia
+Lukas Vacek
Ville Vainio
Andi Vajda
Case Van Horsen
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -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,9 @@
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:
+ all_failed = self.failed + self.failed_on_import
+ longest = max(longest, max([len(name) for name in all_failed]))
def print_three_column(lst):
lst.sort(key=str.lower)
@@ -276,6 +278,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 +344,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
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list