-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Web App: https://huggingface.co/spaces/giswqs/solara-geemap
How to reproduce it:
git clone https://huggingface.co/spaces/giswqs/solara-geemap
pip install -r requirements.txt
solara run ./pages/
raceback (most recent call last):
File "/opt/conda/lib/python3.11/site-packages/reacton/core.py", line 392, in _create_widget
widget = self.component.widget(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jovyan/pages/02_inspector.py", line 9, in init
super().init(**kwargs)
File "/opt/conda/lib/python3.11/site-packages/geemap/geemap.py", line 158, in init
super().init(**kwargs)
File "/opt/conda/lib/python3.11/site-packages/geemap/core.py", line 749, in init
self.add(widget, position=position)
File "/opt/conda/lib/python3.11/site-packages/geemap/geemap.py", line 363, in add
super().add(obj, position=position, **kwargs)
File "/opt/conda/lib/python3.11/site-packages/geemap/core.py", line 940, in add
self._add_toolbar(position, **kwargs)
File "/opt/conda/lib/python3.11/site-packages/geemap/core.py", line 985, in _add_toolbar
toolbar_val = toolbar.Toolbar(
^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/geemap/toolbar.py", line 130, in init
self.main_tools = main_tools + ([self.toggle_widget] if extra_tools else [])
^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/traitlets/traitlets.py", line 748, in set
self.set(obj, value)
File "/opt/conda/lib/python3.11/site-packages/traitlets/traitlets.py", line 737, in set
obj._notify_trait(self.name, old_value, new_value)
File "/opt/conda/lib/python3.11/site-packages/traitlets/traitlets.py", line 1532, in _notify_trait
self.notify_change(
File "/opt/conda/lib/python3.11/site-packages/ipywidgets/widgets/widget.py", line 700, in notify_change
self.send_state(key=name)
File "/opt/conda/lib/python3.11/site-packages/ipywidgets/widgets/widget.py", line 578, in send_state
state = self.get_state(key=key)
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/ipywidgets/widgets/widget.py", line 615, in get_state
value = to_json(getattr(self, k), self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/ipywidgets/widgets/widget.py", line 52, in _widget_to_json
return [_widget_to_json(v, obj) for v in x]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/ipywidgets/widgets/widget.py", line 52, in
return [_widget_to_json(v, obj) for v in x]
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/ipywidgets/widgets/widget.py", line 54, in widget_to_json
return "IPY_MODEL" + x.model_id
^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/solara/server/patch.py", line 539, in model_id_debug
raise RuntimeError(f"Widget {type(self)} has been closed, the stacktrace when the widget was closed is:\n{closed_stack[id(self)]}")
RuntimeError: Widget <class 'geemap.toolbar.ToolbarItem'> has been closed, the stacktrace when the widget was closed is:
File "/opt/conda/bin/solara", line 8, in
sys.exit(main())
File "/opt/conda/lib/python3.11/site-packages/solara/main.py", line 761, in main
cli(args[1:])
File "/opt/conda/lib/python3.11/site-packages/rich_click/rich_command.py", line 402, in call
return super().call(*args, **kwargs)
File "/opt/conda/lib/python3.11/site-packages/click/core.py", line 1462, in call
return self.main(*args, **kwargs)
File "/opt/conda/lib/python3.11/site-packages/rich_click/rich_command.py", line 216, in main
rv = self.invoke(ctx)
File "/opt/conda/lib/python3.11/site-packages/click/core.py", line 1850, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/opt/conda/lib/python3.11/site-packages/click/core.py", line 1246, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/opt/conda/lib/python3.11/site-packages/click/core.py", line 814, in invoke
return callback(*args, **kwargs)
File "/opt/conda/lib/python3.11/site-packages/solara/main.py", line 485, in run
start_server()
File "/opt/conda/lib/python3.11/site-packages/solara/main.py", line 451, in start_server
server.run()
File "/opt/conda/lib/python3.11/site-packages/uvicorn/server.py", line 67, in run
return asyncio_run(self.serve(sockets=sockets), loop_factory=self.config.get_loop_factory())
File "/opt/conda/lib/python3.11/site-packages/uvicorn/_compat.py", line 30, in asyncio_run
return runner.run(main)
File "/opt/conda/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
File "/opt/conda/lib/python3.11/asyncio/base_events.py", line 640, in run_until_complete
self.run_forever()
File "/opt/conda/lib/python3.11/asyncio/base_events.py", line 607, in run_forever
self._run_once()
File "/opt/conda/lib/python3.11/asyncio/base_events.py", line 1922, in _run_once
handle._run()
File "/opt/conda/lib/python3.11/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/opt/conda/lib/python3.11/site-packages/uvicorn/lifespan/on.py", line 86, in main
await app(scope, self.receive, self.send)
File "/opt/conda/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 29, in call
return await self.app(scope, receive, send)
File "/opt/conda/lib/python3.11/site-packages/starlette/applications.py", line 113, in call
await self.middleware_stack(scope, receive, send)
File "/opt/conda/lib/python3.11/site-packages/starlette/middleware/errors.py", line 151, in call
await self.app(scope, receive, send)
File "/opt/conda/lib/python3.11/site-packages/starlette/middleware/gzip.py", line 19, in call
await self.app(scope, receive, send)
File "/opt/conda/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 49, in call
await self.app(scope, receive, send)
File "/opt/conda/lib/python3.11/site-packages/starlette/routing.py", line 716, in call
await self.middleware_stack(scope, receive, send)
File "/opt/conda/lib/python3.11/site-packages/starlette/routing.py", line 725, in app
await self.lifespan(scope, receive, send)
File "/opt/conda/lib/python3.11/site-packages/starlette/routing.py", line 694, in lifespan
async with self.lifespan_context(app) as maybe_state:
File "/opt/conda/lib/python3.11/site-packages/starlette/routing.py", line 571, in aenter
await self._router.startup()
File "/opt/conda/lib/python3.11/site-packages/starlette/routing.py", line 673, in startup
handler()
File "/opt/conda/lib/python3.11/site-packages/solara/server/starlette.py", line 620, in on_startup
appmod.ensure_apps_initialized()
File "/opt/conda/lib/python3.11/site-packages/solara/util.py", line 345, in wrapper
return_value = f()
File "/opt/conda/lib/python3.11/site-packages/solara/server/app.py", line 542, in ensure_apps_initialized
app.init()
File "/opt/conda/lib/python3.11/site-packages/solara/server/app.py", line 119, in init
dummy_kernel_context.close()
File "/opt/conda/lib/python3.11/site-packages/solara/server/kernel_context.py", line 136, in close
widgets.Widget.close_all()
File "/opt/conda/lib/python3.11/site-packages/ipywidgets/widgets/widget.py", line 351, in close_all
widget.close()
File "/opt/conda/lib/python3.11/site-packages/solara/server/patch.py", line 559, in close_widget_debug
stacktrace = "".join(traceback.format_stack())
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/conda/lib/python3.11/site-packages/reacton/core.py", line 1964, in _reconsolidate
widget, orphan_ids = el._create_widget(kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/reacton/core.py", line 405, in _create_widget
raise RuntimeError(f"Could not create widget {self.component.widget} with {kwargs}") from e
RuntimeError: Could not create widget <class '02_inspector.Map'> with {'center': [40, -100], 'zoom': 4, 'height': '600px'}