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 <rep...@bugs.python.org>
<http://bugs.python.org/issue16803>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to