<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; "><div><div><div>Dear Grok Devs,</div><div><br></div><div>I've got Grok set up on a number of machines, and have started getting some errors on my Mac OS X Lion machine&#8230;</div><div>I had Grok set up nicely using mod_wsgi and the Enthought Python Distribution, so that I could take advantage of Enthought's MKL libraries with numpy, but a recent buildout has somehow killed it.</div><div><br></div><div>The end of the paster error is below.&nbsp;</div><div><br></div><div><br></div><div><div>&nbsp; File "/Users/albl500/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish</div><div>&nbsp; &nbsp; actions = self.handler(context, **args)</div><div>&nbsp; File "/Users/albl500/.buildout/eggs/z3c.autoinclude-0.3.3-py2.7.egg/z3c/autoinclude/zcml.py", line 51, in includeDependenciesDirective</div><div>&nbsp; &nbsp; info = DependencyFinder(dist).includableInfo(['configure.zcml', 'meta.zcml'])</div><div>&nbsp; File "/Users/albl500/.buildout/eggs/z3c.autoinclude-0.3.3-py2.7.egg/z3c/autoinclude/dependency.py", line 24, in includableInfo</div><div>&nbsp; &nbsp; module = resolve(dotted_name)</div><div>&nbsp; File "/Users/albl500/.buildout/eggs/zope.dottedname-3.4.6-py2.7.egg/zope/dottedname/resolve.py", line 32, in resolve</div><div>&nbsp; &nbsp; found = __import__(used)</div><div>&nbsp; File "/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site-packages/bimdp/__init__.py", line 82, in &lt;module&gt;</div><div>&nbsp; &nbsp; from binode import (</div><div>&nbsp; File "/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site-packages/bimdp/binode.py", line 77, in &lt;module&gt;</div><div>&nbsp; &nbsp; import mdp</div><div>&nbsp; File "/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site-packages/mdp/__init__.py", line 128, in &lt;module&gt;</div><div>&nbsp; &nbsp; numx_rand, numx_version) = configuration.get_numx()</div><div>&nbsp; File "/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site-packages/mdp/configuration.py", line 179, in get_numx</div><div>&nbsp; &nbsp; import scipy as numx</div><div>&nbsp; File "/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site-packages/scipy/__init__.py", line 85, in &lt;module&gt;</div><div>&nbsp; &nbsp; from numpy import oldnumeric</div><div>&nbsp; File "/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site-packages/numpy/oldnumeric/__init__.py", line 14, in &lt;module&gt;</div><div>&nbsp; &nbsp; from compat import *</div><div>&nbsp; File "/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site-packages/numpy/oldnumeric/compat.py", line 106, in &lt;module&gt;</div><div>&nbsp; &nbsp; class Unpickler(pickle.Unpickler):</div><div>&nbsp; File "/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site-packages/numpy/oldnumeric/compat.py", line 110, in Unpickler</div><div>&nbsp; &nbsp; dispatch = copy.copy(pickle.Unpickler.dispatch)</div><div>zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/Library/GrokServer/SoS/server/parts/etc/site.zcml", line 4.2-4.27</div><div>&nbsp; &nbsp; ZopeXMLConfigurationError: File "/Library/GrokServer/SoS/server/src/SoS/configure.zcml", line 4.2-4.37</div><div>&nbsp; &nbsp; AttributeError: 'builtin_function_or_method' object has no attribute 'dispatch'</div></div><div><br></div><div>I opened up compat.py (https://github.com/numpy/numpy/blob/master/numpy/oldnumeric/compat.py), and noticed that the error can be triggered when cPickle is used instead of pickle. So, I figured an earlier 'import cPickle as pickle' statement could be the problem. However, I've changed all such lines from my code, and still get the same error. A grep -r of the egg cache shows that a couple modules in ZODB3-3.10.5-py2.7 do use the 'import cPickle as pickle' statement ( only in ZEO/scripts/zeoqueue.py, ZODB/utils.py &amp; ZODB/tests/testUtils.py), but it doesn't work if I change those either. There's even more&nbsp;</div><div><br></div><div>Has anyone got any ideas why this isn't working?</div><div>I can tell that pickle.Unpickler is a class, and that cPickle.Unpickler is a function.</div><div>Usually though, if I 'import cPickle as pickle', and then 'import pickle', pickle.Unpickler is a class.</div><div>However, that is exactly what isn't happening here. There is an 'import pickle' line immediately before the block where this error is raised. Why then, is it not importing the pure-python version of pickle? Any ideas??</div><div><br></div><div>Cheers,</div><div>Alex</div><div><br></div><div><br></div><div><br></div><div><div></div></div></div></div></body></html>