[Grok-dev] Wierd Thing: Grok Groping All Modules?
Graham Stratton
gns24 at mythic-beasts.com
Wed Oct 28 17:15:04 EDT 2009
On 25 May 2009, at 13:32, Ethan Jucovy wrote:
> On Sun, May 24, 2009 at 10:12 PM, Jeff Rush <jeff at taupro.com> wrote:
> And it then walked all my packages and gave me an exception
> traceback when it
> hit the speechd package. No idea why it is touching non-Zope
> packages.
>
> Still haven't managed to reproduce this .. it's all very strange to
> me.
>
> Hmm .. could you see what "dist" is, and what `dist.requires()`
> returns, in your broken setup's zcml.py `autoIncludeDirective`?
>
> Here's what z3c.autoinclude is trying to do..
>
> 1) `autoIncludeDirective` in zcml.py is invoked by a ZCML directive
> somewhere. (grokproject creates the following directive in your new
> project's configure.zcml: <includeDependencies package="." />)
> 2) `autoIncludeDirective` takes the package passed in from the ZCML
> directive, which at this point has already been resolved into a
> Python module object.
> 3) `distributionForPackage` takes that module object and determines
> what distribution (egg) the module was provided by. This function
> is really hairy (mostly because of virtual namespace packages) and
> *does* touch everything in your sys.path but it doesn't look like
> it's where your problem is coming from.
> 4) Now autoinclude has a setuptools Distribution object. It asks
> that object for the distributions listed in its
> "install_requires" (that's the `self.context.requires()` line, going
> through the pkg_resources API -- self.context being the
> Distribution) and pokes at each of those to find ZCML files to
> include.
>
> So if there's any place where unexpected packages would be touched,
> I would suspect step #3. But from the traceback it looks like it's
> happening in step #4, even though step #4 should only be looping
> over packages that are explicitly required by your project.
>
> You might also try upgrading to z3c.autoinclude v0.3.1. One
> significant difference is that v0.2 imports setuptools, which I've
> heard is a Bad Idea because it triggers some monkeypatching. Don't
> know why that would result in this error, though.
I also seem to be having this issue. I'm running OSX, not using the
system Python. The grok instance I'm running has been updated a lot
since it was created, so probably isn't as clean as it could be, but
the buildout file it is based on a copy of that produced by the latest
grokproject.
Has this issue been solved or should I try to investigate further?
The traceback is below. Many thanks,
Graham
2009-10-29T08:03:00 WARNING root Developer mode is enabled: this is a
security risk and should NOT be enabled on production servers.
Developer mode can be turned off in etc/zope.conf
Traceback (most recent call last):
File "./bin/grokstar-debug", line 128, in <module>
grokstar.startup.interactive_debug_prompt()
File "/Users/graham/development/zopeorggrokstar/src/grokstar/
startup.py", line 13, in interactive_debug_prompt
db = zope.app.wsgi.config(zope_conf)
File "/usr/local/lib/python2.5/site-packages/PIL-1.1.6-py2.5-
macosx-10.3-i386.egg/__init__.py", line 124, in config
File "/Users/graham/.buildout/eggs/tmpVKUl1q/zope.app.appsetup-3.4.1-
py2.5.egg/zope/app/appsetup/appsetup.py", line 111, in config
File "/Users/graham/.buildout/eggs/tmpcEOKao/
zope.configuration-3.4.0-py2.5.egg/zope/configuration/xmlconfig.py",
line 610, in file
File "/Users/graham/.buildout/eggs/tmpcEOKao/
zope.configuration-3.4.0-py2.5.egg/zope/configuration/xmlconfig.py",
line 546, in include
File "/Users/graham/.buildout/eggs/tmpcEOKao/
zope.configuration-3.4.0-py2.5.egg/zope/configuration/xmlconfig.py",
line 378, in processxmlfile
File "/usr/local/lib/python2.5/xml/sax/expatreader.py", line 107, in
parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/local/lib/python2.5/xml/sax/xmlreader.py", line 123, in
parse
self.feed(buffer)
File "/usr/local/lib/python2.5/xml/sax/expatreader.py", line 207, in
feed
self._parser.Parse(data, isFinal)
File "/usr/local/lib/python2.5/xml/sax/expatreader.py", line 349, in
end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/Users/graham/.buildout/eggs/tmpcEOKao/
zope.configuration-3.4.0-py2.5.egg/zope/configuration/xmlconfig.py",
line 357, in endElementNS
File "/Users/graham/.buildout/eggs/tmpcEOKao/
zope.configuration-3.4.0-py2.5.egg/zope/configuration/config.py", line
542, in end
File "/Users/graham/.buildout/eggs/tmpcEOKao/
zope.configuration-3.4.0-py2.5.egg/zope/configuration/config.py", line
690, in finish
File "/Users/graham/.buildout/eggs/tmpcEOKao/
zope.configuration-3.4.0-py2.5.egg/zope/configuration/xmlconfig.py",
line 546, in include
File "/Users/graham/.buildout/eggs/tmpcEOKao/
zope.configuration-3.4.0-py2.5.egg/zope/configuration/xmlconfig.py",
line 378, in processxmlfile
File "/usr/local/lib/python2.5/xml/sax/expatreader.py", line 107, in
parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/local/lib/python2.5/xml/sax/xmlreader.py", line 123, in
parse
self.feed(buffer)
File "/usr/local/lib/python2.5/xml/sax/expatreader.py", line 207, in
feed
self._parser.Parse(data, isFinal)
File "/usr/local/lib/python2.5/xml/sax/expatreader.py", line 349, in
end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/Users/graham/.buildout/eggs/tmpcEOKao/
zope.configuration-3.4.0-py2.5.egg/zope/configuration/xmlconfig.py",
line 357, in endElementNS
File "/Users/graham/.buildout/eggs/tmpcEOKao/
zope.configuration-3.4.0-py2.5.egg/zope/configuration/config.py", line
542, in end
File "/Users/graham/.buildout/eggs/tmpcEOKao/
zope.configuration-3.4.0-py2.5.egg/zope/configuration/config.py", line
690, in finish
File "/Users/graham/.buildout/eggs/z3c.autoinclude-0.3.1-py2.5.egg/
z3c/autoinclude/zcml.py", line 51, in includeDependenciesDirective
info = DependencyFinder(dist).includableInfo(['configure.zcml',
'meta.zcml'])
File "/Users/graham/.buildout/eggs/z3c.autoinclude-0.3.1-py2.5.egg/
z3c/autoinclude/dependency.py", line 24, in includableInfo
module = resolve(dotted_name)
File "/Users/graham/.buildout/eggs/tmpe64Jup/zope.dottedname-3.4.2-
py2.5.egg/zope/dottedname/resolve.py", line 32, in resolve
File "/usr/local/lib/python2.5/site-packages/PIL-1.1.6-py2.5-
macosx-10.3-i386.egg/__init__.py", line 16, in <module>
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/Users/
graham/development/zopeorggrokstar/etc/site.zcml", line 4.2-4.32
ZopeXMLConfigurationError: File "/Users/graham/development/
zopeorggrokstar/src/grokstar/configure.zcml", line 4.2-4.37
ImportError: No module named wx
More information about the Grok-dev
mailing list