Brett Cannon added the comment:

The trigger of that exception is importlib._bootstrap._sanity_check() 
(http://hg.python.org/cpython/file/5e025dc7d728/Lib/importlib/_bootstrap.py#l1466).
 It's called very early on to verify certain things, including that the parent 
package is already loaded when importing a submodule. It's that last bit that's 
failing.

If you look at 3.2 vs. 3.3 for imp.load_dynamic() which does extension module 
loading for importlib, there is essentially no change, even as far as looking 
into Python/importdl.c:_PyImport_LoadDynamicModule() 
(http://hg.python.org/cpython/file/5e025dc7d728/Python/import.c#l1773 vs. 
http://hg.python.org/cpython/file/3654c711019a/Python/import.c#l3446).

The problem is that the check for the parent module is also in Python/import.c 
from 3.2 so this isn't a new check. Is it possible that Cython is doing 
something differently now that it didn't do before? I know you said this worked 
in 3.2 and earlier, Stefan, but was that with the same version of Cython? Did 
the actual C call and setup for that call change? Otherwise I can't think of 
how anything specifically changed between 3.2 and 3.3 that would fundamentally 
change this.

----------
nosy: +brett.cannon

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue15623>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to