[Distutils] namespace packages broken in ubuntu with zc.buildout 1.5?

Wichert Akkerman wichert at wiggy.net
Thu Apr 12 12:16:22 CEST 2012


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
<module 'repoze' from 
'/home/wichert/lib/buildout/eggs/repoze.formapi-0.4.2-py2.7.egg/repoze/__init__.pyc'>
(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
<module 'repoze.sphinx' from 
'/usr/lib/pymodules/python2.7/sphinx/__init__.pyc'>

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
<module 'sphinx' from 
'/home/wichert/lib/buildout/eggs/Sphinx-1.0.1-py2.7.egg/sphinx/__init__.pyc'>

I am not sure who is responsible for this behaviour or how to debug 
this. Does anyone have any useful hints?

Wichert.



More information about the Distutils-SIG mailing list