[Zope3-dev] 'thread_local' AttributeError in zope.security.checker

Jim Fulton jim at zope.com
Wed Aug 15 09:47:04 EDT 2007


On Aug 14, 2007, at 7:32 PM, Paul Carduner wrote:

> Hello zope3-dev,
>
> I came across an error I have not seen before.  Just for reference,
> here is the last snippet from the traceback:
>
> File "/home/pcardune/Work/ZContact/zcontact-lp/eggs/tmpgwuq6O/ 
> zope.security-3.4.0b4-py2.4-linux-i686.egg/zope/security/checker.py",
> line 420, in ?
> AttributeError: 'module' object has no attribute 'thread_local'

I wish you had included the whole traceback.


> The interesting part to me is that it was so easy to fix.  Here is a
> snippet of the relevant area of failing code from
> zope/security/checker.py
>
> # Get optimized versions
> try:
>     import zope.security._zope_security_checker
> except ImportError:
>     pass
> else:
>     from zope.security._zope_security_checker import _checkers,  
> selectChecker
>     from zope.security._zope_security_checker import NoProxy, Checker
>     from zope.security._zope_security_checker import _defaultChecker
>     from zope.security._zope_security_checker import  
> _available_by_default
>     zope.interface.classImplements(Checker, INameBasedChecker)
>
> The very first import statement is throwing the error, but alas, it is
> not an ImportError.  If I patch this code by catching the
> AttributeError in the same way the ImportError is caught, then
> everything works fine.

Except you don't get the C optimizations. IOW, you would just be  
covering up a real error.


> I tried looking into the c code, but after
> years of python development, the c code just frightens me (a bit).
> That said, I would really appreciate any pointers people might be able
> to give me on what thread_local is for and why I (don't) need it.

I rearranged the imports in zope.security yesterday.  I apparently  
broke your usage, but I can't tell what your usage is.  I'll need to  
see the whole traceback.  In particular, I'll need to see the import  
order.

Jim

--
Jim Fulton			mailto:jim at zope.com		Python Powered!
CTO 				(540) 361-1714			http://www.python.org
Zope Corporation	http://www.zope.com		http://www.zope.org





More information about the Zope3-dev mailing list