|
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