Kaydet (Commit) e1d30f24 authored tarafından Brett Cannon's avatar Brett Cannon

merge for issue #17358

...@@ -111,7 +111,12 @@ def load_source(name, pathname, file=None): ...@@ -111,7 +111,12 @@ def load_source(name, pathname, file=None):
'importlib.machinery.SourceFileLoader(name, pathname).load_module()' 'importlib.machinery.SourceFileLoader(name, pathname).load_module()'
' instead') ' instead')
warnings.warn(msg, DeprecationWarning, 2) warnings.warn(msg, DeprecationWarning, 2)
return _LoadSourceCompatibility(name, pathname, file).load_module(name) _LoadSourceCompatibility(name, pathname, file).load_module(name)
module = sys.modules[name]
# To allow reloading to potentially work, use a non-hacked loader which
# won't rely on a now-closed file object.
module.__loader__ = _bootstrap.SourceFileLoader(name, pathname)
return module
class _LoadCompiledCompatibility(_HackedGetData, class _LoadCompiledCompatibility(_HackedGetData,
...@@ -125,7 +130,12 @@ def load_compiled(name, pathname, file=None): ...@@ -125,7 +130,12 @@ def load_compiled(name, pathname, file=None):
'importlib.machinery.SourcelessFileLoader(name, pathname).' 'importlib.machinery.SourcelessFileLoader(name, pathname).'
'load_module() instead ') 'load_module() instead ')
warnings.warn(msg, DeprecationWarning, 2) warnings.warn(msg, DeprecationWarning, 2)
return _LoadCompiledCompatibility(name, pathname, file).load_module(name) _LoadCompiledCompatibility(name, pathname, file).load_module(name)
module = sys.modules[name]
# To allow reloading to potentially work, use a non-hacked loader which
# won't rely on a now-closed file object.
module.__loader__ = _bootstrap.SourcelessFileLoader(name, pathname)
return module
def load_package(name, path): def load_package(name, path):
......
...@@ -52,6 +52,9 @@ Core and Builtins ...@@ -52,6 +52,9 @@ Core and Builtins
Library Library
------- -------
- Issue #17358: Modules loaded by imp.load_source() and load_compiled() (and by
extention load_module()) now have a better chance of working when reloaded.
- Issue #17804: New function ``struct.iter_unpack`` allows for streaming - Issue #17804: New function ``struct.iter_unpack`` allows for streaming
struct unpacking. struct unpacking.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment