psyco+webpy
Amaury Forgeot d'Arc
afa at neuf.fr
Mon Jun 26 17:11:36 EDT 2006
a a écrit :
> hi i tried psyco+webpy
>
> here is the error that i got
> please let me know if any of you has success run psyco+webpy
> thanks
>
> import web, psyco
> urls = (
> '/', 'view',
> '/add','add'
> )
> psyco.full()
> psyco.log()
> psyco.profile()
>
> Launching server: http://0.0.0.0:8080/
> Traceback (most recent call last):
> File "C:\Python24\lib\site-packages\web.py", line 2054, in
> run_wsgi_app
> result = self.server.app(env, self.wsgi_start_response)
> File "C:\Python24\lib\site-packages\web.py", line 1894, in wsgifunc
> result = func()
> File "C:\Python24\lib\site-packages\web.py", line 1872, in <lambda>
> func = lambda: handle(getattr(mod, name), mod)
> File "C:\Python24\lib\site-packages\web.py", line 1051, in handle
> return tocall(*([urllib.unquote(x) for x in args] + fna))
> File "C:\mark\web1\codepsyco.py", line 27, in GET
> web.render('view.html')
> File "C:\Python24\lib\site-packages\web.py", line 1707, in render
> terms.update(sys._getframe(1).f_locals)
> File "C:\Python24\Lib\site-packages\psyco\support.py", line 129, in
> __getattr__
Functions optimized by Psyco have limitations concerning access of their
local variables, as stated there:
http://psyco.sourceforge.net/psycoguide/bugs.html
As a workaround, you should prevent psyco from optimizing the functions
calling render().
psyco.cannotcompile(web.djangoerror)
psyco.cannotcompile(??.GET)
P.S. I just had a look at the web.py code and it seems that there are
several uses of _getframe(x).f_locals. I find this trick not very
pythonic (a function's docstring even says:"""Guido van Rossum doesn't
want you to use this function.""") and anyway psyco will not appreciate it.
--
Amaury
More information about the Python-list
mailing list