avoid import short-circuiting
Robert Kern
robert.kern at gmail.com
Fri Mar 16 13:19:47 EDT 2012
On 3/16/12 4:49 PM, Andrea Crotti wrote:
> I started the following small project:
>
> https://github.com/AndreaCrotti/import-tree
>
> because I would like to find out what exactly depends on what at run-time, using
> an import hook.
>
> It works quite well for small examples but the main problem is that once a
> module is imported
> it's added to sys.modules and then it doesn't go through the import hook anymore.
>
> I tried to mess around with sys.modules but it might not be a good idea, and it
> leads to easy
> infinite loops.
> Is there a good way to achieve this?
> I guess I could do the loop detection myself, but that should not be too hard..
You want to monkeypatch __builtin__.__import__() instead. It always gets called.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the Python-list
mailing list