#1 by darkogav
Hello, I have the latest otree install and we are getting an error now when upgraded to python 3.8. All server checks pass. Not sure if missing module or something related to the old session code. I checked and datetime is installed.
full error below.
Exception in ASGI application
Traceback (most recent call last):
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 140, in _resolve_variable
obj = obj(*self.func_args)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/models/session.py", line 99, in _created_readable
delta = now - self._created
TypeError: unsupported operand type(s) for -: 'float' and 'datetime.datetime'
The above exception was the direct cause of the following exception:
#2 by Chris_oTree
Can you show the full traceback? Also, what triggered this error? Starting the server, creating a session, etc....
#3 by Chris_oTree
By the way you have to reset the database when upgrading oTree. Meaning you delete your old sessions.
#4 by darkogav
Hello, i reset the db. No luck. The error is generated when trying to access sessions.
Full error below.
--
Exception in ASGI application
Traceback (most recent call last):
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 140, in _resolve_variable
obj = obj(*self.func_args)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/models/session.py", line 99, in _created_readable
delta = now - self._created
TypeError: unsupported operand type(s) for -: 'float' and 'datetime.datetime'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/otree/otree2022/lib/python3.8/site-packages/uvicorn/protocols/http/h11_impl.py", line 396, in run_asgi
result = await app(self.scope, self.receive, self.send)
File "/home/otree/otree2022/lib/python3.8/site-packages/uvicorn/middleware/proxy_headers.py", line 45, in __call__
return await self.app(scope, receive, send)
File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/applications.py", line 112, in __call__
await self.middleware_stack(scope, receive, send)
File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/middleware/base.py", line 26, in __call__
await response(scope, receive, send)
File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/responses.py", line 224, in __call__
await run_until_first_complete(
File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/concurrency.py", line 24, in run_until_first_complete
[task.result() for task in done]
File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/concurrency.py", line 24, in <listcomp>
[task.result() for task in done]
File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/responses.py", line 216, in stream_response
async for chunk in self.body_iterator:
File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/middleware/base.py", line 56, in body_stream
task.result()
File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/middleware/base.py", line 38, in coro
await self.app(scope, receive, send)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/errorpage.py", line 247, in __call__
raise exc # from None
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/errorpage.py", line 227, in __call__
await self.app(scope, receive, _send)
File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/middleware/base.py", line 25, in __call__
response = await self.dispatch_func(request, self.call_next)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/middleware.py", line 42, in dispatch
response = await call_next(request)
File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/middleware/base.py", line 45, in call_next
task.result()
File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/middleware/base.py", line 38, in coro
await self.app(scope, receive, send)
File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/middleware/sessions.py", line 75, in __call__
await self.app(scope, receive, send_wrapper)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/patch.py", line 41, in __call__
raise exc # from None
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/patch.py", line 29, in __call__
await self.app(scope, receive, sender)
File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/routing.py", line 582, in __call__
await route.handle(scope, receive, send)
File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/routing.py", line 243, in handle
await self.app(scope, receive, send)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/views/cbv.py", line 45, in dispatch
response = await run_in_threadpool(self.inner_dispatch, request)
File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/concurrency.py", line 40, in run_in_threadpool
return await loop.run_in_executor(None, func, *args)
File "/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/views/cbv.py", line 66, in inner_dispatch
return self.get(request, **request.path_params)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/views/cbv.py", line 77, in get
return self.render_to_response(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/views/cbv.py", line 126, in render_to_response
return render(self.get_template_name(), context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/loader.py", line 85, in render
ibis_loader.load(template_name, template_type=template_type).render(
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/template.py", line 36, in render
return self.root_node.render(context.Context(data_dict, self))
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
return self.wrender(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in wrender
return ''.join(child.render(context) for child in self.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in <genexpr>
return ''.join(child.render(context) for child in self.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
return self.wrender(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in wrender
return ''.join(child.render(context) for child in self.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in <genexpr>
return ''.join(child.render(context) for child in self.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
return self.wrender(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in wrender
return ''.join(child.render(context) for child in self.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in <genexpr>
return ''.join(child.render(context) for child in self.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
return self.wrender(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in wrender
return ''.join(child.render(context) for child in self.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in <genexpr>
return ''.join(child.render(context) for child in self.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
return self.wrender(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in wrender
return ''.join(child.render(context) for child in self.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in <genexpr>
return ''.join(child.render(context) for child in self.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
return self.wrender(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 578, in wrender
return self.render_block(context, block_list[:])
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 591, in render_block
output = ''.join(child.render(context) for child in last_block.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 591, in <genexpr>
output = ''.join(child.render(context) for child in last_block.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
return self.wrender(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 578, in wrender
return self.render_block(context, block_list[:])
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 591, in render_block
output = ''.join(child.render(context) for child in last_block.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 591, in <genexpr>
output = ''.join(child.render(context) for child in last_block.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
return self.wrender(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 433, in wrender
return self.true_branch.render(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
return self.wrender(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in wrender
return ''.join(child.render(context) for child in self.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in <genexpr>
return ''.join(child.render(context) for child in self.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
return self.wrender(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 318, in wrender
output.append(self.for_branch.render(context))
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
return self.wrender(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in wrender
return ''.join(child.render(context) for child in self.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in <genexpr>
return ''.join(child.render(context) for child in self.children)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
return self.wrender(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 267, in wrender
content = expr.eval(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 132, in eval
return self._resolve_variable(context)
File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 144, in _resolve_variable
raise errors.TemplateRenderingError(msg, self.token) from err
otree.templating.errors.TemplateRenderingError: Error calling function 's._created_readable' in template 'otree/Sessions.html', line 73. (line 73, in "s._created_readable()")
---
#5 by darkogav
Hello, just wanted to follow up to confirm. This this error due to out environment install or is it an issue with the code in the session?