[Python-Dev] Dealing with import lock deadlock in Import Hooks

Arnaud Fontaine arnaud.fontaine at nexedi.com
Mon Aug 12 11:12:34 CEST 2013

Victor Stinner <victor.stinner at gmail.com> writes:

>>I'm currently working on implementing Import Hooks (PEP302) with Python
>> 2.7 to be able to import modules whose code is in ZODB. However, I have
>> stumbled upon a widely known issue about import deadlock[0][1] (...)
> In Python 3.3, the import machinery has been rewritten (importlib is used
> by default) and the import lock is now per module, no more global.

Yes, I saw the bug report and its patch implementing the import lock per
module (mentioned in my initial email) and watched the presentation by
Brett Cannon (BTW, I could not find the diagram explained during the
presentation, anyone knows if it's available somewhere?).

> Backporting such huge change is difficult and risky.
> Upgrading to Python 3.3 is more future proof and don't require to hack
> Python 2.7.

I wish I could use Python 3.3 but unfortunately, Zope 2 does not support
it. What about the other solution I suggested though?

Arnaud Fontaine

More information about the Python-Dev mailing list