Do you define "StringO" in your code?
Both the old web shell and the new web based shell have problems. The
issue is maintaining state and make it work on GAE. The shell we use
now is the one provided by Google.


On Jul 26, 10:14 am, Nekron <[email protected]> wrote:
> Hello Massimo,
>
> I recently installed web2py for a small customer project and found
> that the online shell access is no longer working. I compared the
> contrib/shell.py with an older working version and I do see that you
> added a represent(obj) method. Launching the online shell this gaves
> me:
>
> Traceback (most recent call last):
>   File "E:\web2py\gluon\restricted.py", line 192, in restricted
>     exec ccode in environment
>   File "E:/web2py/applications/admin/controllers/shell.py", line 47,
> in <module>
>   File "E:\web2py\gluon\globals.py", line 137, in <lambda>
>     self._caller = lambda f: f()
>   File "E:/web2py/applications/admin/controllers/shell.py", line 35,
> in callback
>     output = gluon.contrib.shell.run(history,command,environ)
>   File "E:\web2py\gluon\contrib\shell.py", line 258, in run
>     history.set_global(name, val)
>   File "E:\web2py\gluon\contrib\shell.py", line 104, in set_global
>     blob = cPickle.dumps(value)
>   File "c:\python27\lib\copy_reg.py", line 70, in _reduce_ex
>     raise TypeError, "can't pickle %s objects" % base.__name__
> TypeError: can't pickle StringO objects
>
> To fix this I replace shell.py with an older version.
>
> The second thing I found out was running the rocket webserver for port
> 8000 (http) and 8443 (https) on a single web2py instance using the
> interfaces. This works like a champ if you launch it from command
> line, however if you install web2py as a Windows service this doesnt
> work. To fix this simply add "interface=options.interfaces" to the
> start() method of winservice.py at line #131.

Reply via email to