[Grok-dev] Re: AttributeError: type object 'ISessionDataContainer' has no attribute 'isOrExtends'

Philipp von Weitershausen philipp at weitershausen.de
Sat Jun 14 07:31:12 EDT 2008

On 14 Jun 2008, at 13:19 , Peter Bengtsson wrote:

> 2008/6/14 Philipp von Weitershausen <philipp at weitershausen.de>:
>> Peter Bengtsson wrote:
>>> I tried to copycat the LoginDemo application from grokapps (with  
>>> some
>>> slight modifications for my usage)
>>> But it get this error:
>>> $ ./bin/zopectl fg
>>> /home/peterbe/dev/GROK/TheGrokWay/parts/app/runzope -C
>>> /home/peterbe/dev/GROK/TheGrokWay/parts/zopectl/zope.conf
>>> Traceback (most recent call last):
>> ...
>>> AttributeError: type object 'ISessionDataContainer' has no attribute
>>> 'isOrExtends'
>> This has become a FAQ now: you have pickles that refer to  
>> zope.app.session,
>> but the code was now moved to zope.session. Even though  
>> zope.app.session has
>> backward-compatibility code for this case, your application  
>> probably no
>> longer pulls in zope.app.session because it has no apparent  
>> dependency to
>> that package. Workaround: make your application depend on  
>> zope.app.session
>> and it should work again.
>> A similar problem may occur with zope.app.securitypolicy as well.
> My app does not import either zope.session or zope.app.session.

That doesn't matter. Zope will, by default, turn the root folder into  
an ISite with a local session data container utility.

> It does however import zope.app.security.interfaces
> You said I should try to make it depend on zope.app.session again, so
> I tried to put `import zope.app.session` on the first line of
> __init__.py but it didn't help.

When I said "depend", i meant adding 'zope.app.session' to the  
install_requires argument in setup.py and re-running bin/buildout.  
Then the zope.app.session egg will be installed and the  
zope.app.session package is available again.

More information about the Grok-dev mailing list