[Twisted-web] Stackless and Nevow integration
Simon Pickles
sipickles at googlemail.com
Tue May 13 03:34:51 EDT 2008
> On Mon, 12 May 2008 14:07:22 +0100, Simon Pickles <sipickles at
> googlemail.com
> <http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web>> wrote:
>> /Hi
> />/
> />/has anyone managed to combined Nevow with Stackless Python?
> />/
> />/I have rebuilt stackless after satisfying all the extension libs
> (to include />/zLib), but now Nevow baulks at the mention of the
> global 'stackless'
> /
> I don't understand how this could actually be related to Nevow. Nevow is
> just a Python library. If you have NameErrors, it's because you wrote
> some
> code using a name that wasn't defined. :) Does adding, say, "import
> stackless"
> to the top of your program fix the problem? If not, post some code
> that shows
> how it breaks.
>
> Jean-Paul
>
It looks like a nevow issue in some introspection process used to import
loaders. Looking at the callstack, its actually a twisted file which throws.
Example:
#=====================
import sys
# link to standard python packages (like twisted and nevow)
sys.path.append("/usr/lib/python2.5/site-packages")
# Has no effect
import stackless
# causes Attribute Error under stackless python, fine in normal python
from nevow import loaders
#=====================
Callstack:
simon at simon-linux:~/Dev/Hub$ spython nevStack.py
Traceback (most recent call last):
File "nevStack.py", line 11, in <module>
from nevow import loaders
File "/usr/lib/python2.5/site-packages/nevow/__init__.py", line 226,
in <module>
loadFlatteners(flatteners)
File "/usr/lib/python2.5/site-packages/nevow/__init__.py", line 39, in
loadFlatteners
flat.registerFlattener(f, clean(o))
File "/usr/lib/python2.5/site-packages/nevow/flat/ten.py", line 36, in
registerFlattener
forType = util._namedAnyWithBuiltinTranslation(forType)
File "/usr/lib/python2.5/site-packages/nevow/util.py", line 183, in
_namedAnyWithBuiltinTranslation
return namedAny(name)
File "/usr/lib/python2.5/site-packages/twisted/python/reflect.py",
line 432, in namedAny
obj = getattr(obj, n)
AttributeError: 'slpmodule' object has no attribute 'function'
I thought maybe I needed to build twisted and Nevow with stackless
python instead so tried that. Twisted works, installing into
/usr/local/lib but Nevow fails at the same point as above:
simon at simon-linux:~/Source/Nevow$ sudo spython setup.py install
Traceback (most recent call last):
File "setup.py", line 11, in <module>
import setupcommon
File "/home/simon/Source/Nevow/setupcommon.py", line 2, in <module>
from nevow import __version__ as version
File "/home/simon/Source/Nevow/nevow/__init__.py", line 226, in <module>
loadFlatteners(flatteners)
File "/home/simon/Source/Nevow/nevow/__init__.py", line 39, in
loadFlatteners
flat.registerFlattener(f, clean(o))
File "/home/simon/Source/Nevow/nevow/flat/ten.py", line 36, in
registerFlattener
forType = util._namedAnyWithBuiltinTranslation(forType)
File "/home/simon/Source/Nevow/nevow/util.py", line 183, in
_namedAnyWithBuiltinTranslation
return namedAny(name)
File
"/usr/local/lib/python2.5/site-packages/twisted/python/reflect.py", line
432, in namedAny
obj = getattr(obj, n)
AttributeError: 'slpmodule' object has no attribute 'function'
I guess I am getting in a muddle ;)
Thanks for any advice and your continued patience!
Si
More information about the Twisted-web
mailing list