This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
| Author | brett.cannon |
|---|---|
| Recipients | Arfrever, brett.cannon, scoder |
| Date | 2012年08月11日.23:35:13 |
| SpamBayes Score | -1.0 |
| Marked as misclassified | Yes |
| Message-id | <1344728118.06.0.815710597304.issue15623@psf.upfronthosting.co.za> |
| In-reply-to |
| Content | |
|---|---|
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. |
|
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2012年08月11日 23:35:18 | brett.cannon | set | recipients: + brett.cannon, scoder, Arfrever |
| 2012年08月11日 23:35:18 | brett.cannon | set | messageid: <1344728118.06.0.815710597304.issue15623@psf.upfronthosting.co.za> |
| 2012年08月11日 23:35:17 | brett.cannon | link | issue15623 messages |
| 2012年08月11日 23:35:13 | brett.cannon | create | |