namespace packages broken in ubuntu with zc.buildout 1.5?
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
See the posts from Felix Schwarz here a few days ago. It looks like
he ran into and
debugged the same issue. I haven't had a chance to wade into it. (I can't
say I'm looking forward to it.)
I'll try to get up to speed on this this weekend.
Jim
On Thu, Apr 12, 2012 at 6:16 AM, Wichert Akkerman
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.
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig
-- Jim Fulton http://www.linkedin.com/in/jimfulton Jerky is better than bacon! http://www.dublinstore.com/
Hey, Am 12.04.2012 15:38, schrieb Jim Fulton:
See the posts from Felix Schwarz here a few days ago. It looks like he ran into and debugged the same issue. I haven't had a chance to wade into it. (I can't say I'm looking forward to it.)
I think my last two emails contain a detailed explaination + workaround patch. If you have any questions, don't hesitate to ask - by now I think I have quite thorough understanding of the issue... fs
On Thu, Apr 12, 2012 at 12:16:22PM +0200, Wichert Akkerman wrote:
I am running into something very odd on an Ubuntu 11.10 system: it looks like namespace packages are entirely broken there.
Interesting. As a data point: I use zc.buildout 1.5.2 on Ubuntu 11.10. I haven't encountered any namespace issues yet.
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
Do you have a small sample buildout.cfg so that I could try to reproduce
this? This one worked for me:
$ cat buildout.cfg
[buildout]
parts = wtf
[wtf]
recipe = z3c.recipe.scripts
# recipe = zc.recipe.egg also worked fine
eggs =
Sphinx
repoze.formapi
repoze.sphinx.autointerface
interpreter = python
$ python bootstrap.py
$ bin/python
Python 2.7.2+ (default, Oct 4 2011, 20:03:08)
>>> import repoze
>>> repoze.__path__
['/home/mg/.buildout/eggs/repoze.formapi-0.5.0-py2.7.egg/repoze', '/home/mg/.buildout/eggs/repoze.sphinx.autointerface-0.6.2-py2.7.egg/repoze']
>>> import repoze.sphinx.autointerface
>>> 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?
Not really. I'm afraid when I encounter buildout issues, I'm in the "aaargh no time for yak shaving NOW" mode, so I tend to intuitively twiddle some knobs like 'include-site-packages = false' for 10-15 minutes until it starts working. Marius Gedminas -- Hanlon's Razor: Never attribute to malice that which is adequately explained by stupidity.
Let me try to answer some questions that came up: - the buildout I used to reproduce this is this one: https://github.com/euphorie/Euphorie - this was using buildout 1.5.2 On 2012-4-12 12:16, Wichert Akkerman wrote:
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.
--
Wichert Akkerman
participants (5)
-
Barry Warsaw
-
Felix Schwarz
-
Jim Fulton
-
Marius Gedminas
-
Wichert Akkerman