mirror of https://github.com/python/cpython.git
Namespace packages _bootstrap.ModuleSpec.loader attributes are no longer None (#10376)
Namespace packages _bootstrap.ModuleSpec.loader attributes are no longer `None` _after_ calling the importlib._bootstrap._init_module_attrs function. See: * https://stackoverflow.com/questions/52869541/namespace-package-spec-loader-and-loader-attributes-not-set-to-none * https://bugs.python.org/issue35181
This commit is contained in:
parent
dde3eebdaa
commit
ee88af3f4f
|
@ -345,12 +345,11 @@ of what happens during the loading portion of import::
|
||||||
_init_module_attrs(spec, module)
|
_init_module_attrs(spec, module)
|
||||||
|
|
||||||
if spec.loader is None:
|
if spec.loader is None:
|
||||||
if spec.submodule_search_locations is not None:
|
# unsupported
|
||||||
# namespace package
|
raise ImportError
|
||||||
sys.modules[spec.name] = module
|
if spec.origin is None and spec.submodule_search_locations is not None:
|
||||||
else:
|
# namespace package
|
||||||
# unsupported
|
sys.modules[spec.name] = module
|
||||||
raise ImportError
|
|
||||||
elif not hasattr(spec.loader, 'exec_module'):
|
elif not hasattr(spec.loader, 'exec_module'):
|
||||||
module = spec.loader.load_module(spec.name)
|
module = spec.loader.load_module(spec.name)
|
||||||
# Set __loader__ and __package__ if missing.
|
# Set __loader__ and __package__ if missing.
|
||||||
|
|
Loading…
Reference in New Issue