Brett Cannon added the comment:
It looks like as long as you block _frozen_importlib and do a fresh import of
importlib you can make sure to use the source version of importlib._bootstrap
instead of _frozen_importlib.
>>> from test.support import import_fresh_module
>>> mod = import_fresh_module('importlib.abc', fresh=('importlib',),
>>> blocked=('_frozen_importlib',))
>>> mod
<module 'importlib.abc' from
'/Users/bcannon/Repositories/cpython/default/Lib/importlib/abc.py'>
>>> mod._bootstrap
<module 'importlib._bootstrap' from
'/Users/bcannon/Repositories/cpython/default/Lib/importlib/_bootstrap.py'>
>>> mod._frozen_importlib
>>> import importlib
>>> importlib._bootstrap
<module 'importlib._bootstrap' (frozen)>
>>> mod2 = import_fresh_module('importlib', blocked=('_frozen_importlib',))
>>> mod2
<module 'importlib' from
'/Users/bcannon/Repositories/cpython/default/Lib/importlib/__init__.py'>
>>> mod2._bootstrap
<module 'importlib._bootstrap' from
'/Users/bcannon/Repositories/cpython/default/Lib/importlib/_bootstrap.py'>
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue16803>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com