Import a module. The 'package' argument is required when performing a relative import. It specifies the package to use as the anchor point from which to resolve the relative import to an absolute import.
(name, package=None)
| 69 | |
| 70 | |
| 71 | def import_module(name, package=None): |
| 72 | """Import a module. |
| 73 | |
| 74 | The 'package' argument is required when performing a relative import. It |
| 75 | specifies the package to use as the anchor point from which to resolve the |
| 76 | relative import to an absolute import. |
| 77 | |
| 78 | """ |
| 79 | level = 0 |
| 80 | if name.startswith('.'): |
| 81 | if not package: |
| 82 | raise TypeError("the 'package' argument is required to perform a " |
| 83 | f"relative import for {name!r}") |
| 84 | for character in name: |
| 85 | if character != '.': |
| 86 | break |
| 87 | level += 1 |
| 88 | return _bootstrap._gcd_import(name[level:], package, level) |
| 89 | |
| 90 | |
| 91 | _RELOADING = {} |
searching dependent graphs…