if spec.loader is None:
return f'<module {name!r}>'
else:
- return f'<module {name!r} ({spec.loader!r})>'
+ return f'<module {name!r} (namespace) from {list(spec.loader._path)}>'
else:
if spec.has_location:
return f'<module {name!r} from {spec.origin!r}>'
with self.assertRaises(ImportError):
import foo.two
+ def test_simple_repr(self):
+ import foo.one
+ assert repr(foo).startswith("<module 'foo' (namespace) from [")
+
class DynamicPathNamespacePackage(NamespacePackageTest):
paths = ['portion1']
--- /dev/null
+In :mod:`importlib._bootstrap`, enhance namespace package repr to `<module
+'x' (namespace) from ['path']>`.