I am running into something very odd on an Ubuntu 11.10 system: it looks
like namespace packages are entirely broken there. Here is a pdb session
to demonstrate:
(Pdb) import repoze
(Pdb) repoze
(Pdb) repoze.__path__
['/home/wichert/lib/buildout/eggs/repoze.sphinx.autointerface-0.6.2-py2.7.egg/repoze',
'/home/wichert/lib/buildout/eggs/repoze.formapi-0.4.2-py2.7.egg/repoze']
So at this point I can import the repoze namespace packages, which is
defined by both repoze.sphinx.autointerface and repoze.formapi. Now I
try to import repoze.sphinx.autointerface:
(Pdb) import repoze.sphinx.autointerface
*** ImportError: No module named autointerface
That is unexpected since we saw the repoze.sphinx.autointerface egg was
found earlier. So lets look at repoze.sphinx:
(Pdb) repoze.sphinx
I did not see that coming at all: how can a system sphinx package that
is not inside the repoze namespace suddenly appear there? This is
especially odd since buildout hooked me up with a sphinx package in the
buildout itself:
(Pdb) import sphinx
I am not sure who is responsible for this behaviour or how to debug
this. Does anyone have any useful hints?
Wichert.