|
12 | 12 | import warnings |
13 | 13 |
|
14 | 14 | __all__ = [ |
15 | | - 'get_importer', 'iter_importers', 'get_loader', 'find_loader', |
| 15 | + 'get_importer', 'iter_importers', |
16 | 16 | 'walk_packages', 'iter_modules', 'get_data', |
17 | 17 | 'read_code', 'extend_path', |
18 | 18 | 'ModuleInfo', |
@@ -263,59 +263,6 @@ def iter_importers(fullname=""): |
263 | 263 | yield get_importer(item) |
264 | 264 |
|
265 | 265 |
|
266 | | -def get_loader(module_or_name): |
267 | | - """Get a "loader" object for module_or_name |
268 | | -
|
269 | | - Returns None if the module cannot be found or imported. |
270 | | - If the named module is not already imported, its containing package |
271 | | - (if any) is imported, in order to establish the package __path__. |
272 | | - """ |
273 | | - warnings._deprecated("pkgutil.get_loader", |
274 | | - f"{warnings._DEPRECATED_MSG}; " |
275 | | - "use importlib.util.find_spec() instead", |
276 | | - remove=(3, 14)) |
277 | | - if module_or_name in sys.modules: |
278 | | - module_or_name = sys.modules[module_or_name] |
279 | | - if module_or_name is None: |
280 | | - return None |
281 | | - if isinstance(module_or_name, ModuleType): |
282 | | - module = module_or_name |
283 | | - loader = getattr(module, '__loader__', None) |
284 | | - if loader is not None: |
285 | | - return loader |
286 | | - if getattr(module, '__spec__', None) is None: |
287 | | - return None |
288 | | - fullname = module.__name__ |
289 | | - else: |
290 | | - fullname = module_or_name |
291 | | - return find_loader(fullname) |
292 | | - |
293 | | - |
294 | | -def find_loader(fullname): |
295 | | - """Find a "loader" object for fullname |
296 | | -
|
297 | | - This is a backwards compatibility wrapper around |
298 | | - importlib.util.find_spec that converts most failures to ImportError |
299 | | - and only returns the loader rather than the full spec |
300 | | - """ |
301 | | - warnings._deprecated("pkgutil.find_loader", |
302 | | - f"{warnings._DEPRECATED_MSG}; " |
303 | | - "use importlib.util.find_spec() instead", |
304 | | - remove=(3, 14)) |
305 | | - if fullname.startswith('.'): |
306 | | - msg = "Relative module name {!r} not supported".format(fullname) |
307 | | - raise ImportError(msg) |
308 | | - try: |
309 | | - spec = importlib.util.find_spec(fullname) |
310 | | - except (ImportError, AttributeError, TypeError, ValueError) as ex: |
311 | | - # This hack fixes an impedance mismatch between pkgutil and |
312 | | - # importlib, where the latter raises other errors for cases where |
313 | | - # pkgutil previously raised ImportError |
314 | | - msg = "Error while finding loader for {!r} ({}: {})" |
315 | | - raise ImportError(msg.format(fullname, type(ex), ex)) from ex |
316 | | - return spec.loader if spec is not None else None |
317 | | - |
318 | | - |
319 | 266 | def extend_path(path, name): |
320 | 267 | """Extend a package's path. |
321 | 268 |
|
|
0 commit comments