I'm trying to make a reactive dashboard. I now have my dashboard working great in a Jupyter Notebook. But when I run it via 'panel serve' it raises the below 'exception'.
Maybe it's me that misunderstands something. I've tried many different ways of implementing this as cannot find a reference example.
$ python -m panel serve 'src\pages\gallery\kickstarter_dashboard\main.py' --dev --show
C:\repos\private\awesome-panel\.venv\lib\site-packages\bokeh\command\util.py:127: UserWarning:
It looks like you might be running the main.py of a directory app directly.
If this is the case, to enable the features of directory style apps, you must
call "bokeh serve" on the directory instead. For example:
bokeh serve my_app_dir/
If this is not the case, renaming main.py will suppress this warning.
warnings.warn(DIRSTYLE_MAIN_WARNING)
2019-12-18 12:20:25,354 Starting Bokeh server version 1.4.0 (running on Tornado 5.1.1)
2019-12-18 12:20:25,356 User authentication hooks NOT provided (default user enabled)
2019-12-18 12:20:25,361 Bokeh app running at: http://localhost:5006/main
2019-12-18 12:20:25,362 Starting Bokeh server with process id: 8752
2019-12-18 12:20:31,342 WebSocket connection opened
2019-12-18 12:20:31,344 ServerConnection created
C:\repos\private\awesome-panel\src\pages\gallery\kickstarter_dashboard\main.py:208: UserWarning: Boolean Series key will be reindexed to match DataFrame index.
sub_df = sub_df[x_filter]
WARNING:param.ParamMethod01391: HoloViews pane model Figure(id='1371', ...) could not be replaced with new model Figure(id='1819', ...), ensure that the parent is not modified at the same time the panel is being updated.
2019-12-18 12:20:36,987 HoloViews pane model Figure(id='1371', ...) could not be replaced with new model Figure(id='1819', ...), ensure that the parent is not modified at the same time the panel is being updated.
2019-12-18 12:20:37,347 Exception in callback functools.partial(<function wrap.<locals>.null_wrapper at 0x0000005386226C18>,
<Future finished exception=TypeError("Constant parameter 'x_range' cannot be modified")>)
Traceback (most recent call last):
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\tornado\ioloop.py", line 758, in _run_callback
ret = callback()
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\tornado\stack_context.py", line 300, in null_wrapper
return fn(*args, **kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\tornado\ioloop.py", line 779, in _discard_future_result
future.result()
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\tornado\gen.py", line 1147, in run
yielded = self.gen.send(value)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\bokeh\server\session.py", line 70, in _needs_document_lock_wrapper
result = yield yield_for_all_futures(func(self, *args, **kwargs))
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\bokeh\server\session.py", line 191, in with_document_locked
return func(*args, **kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\bokeh\document\document.py", line 1127, in wrapper
return doc._with_self_as_curdoc(invoke)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\bokeh\document\document.py", line 1113, in _with_self_as_curdoc
return f()
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\bokeh\document\document.py", line 1126, in invoke
return f(*args, **kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\bokeh\document\document.py", line 916, in remove_then_invoke
return callback(*args, **kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\panel\viewable.py", line 714, in _change_event
self._process_events(events)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\panel\viewable.py", line 704, in _process_events
self.set_param(**self._process_property_change(events))
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 1219, in inner
return fn(*args, **kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 2573, in set_param
return self_or_cls.param.set_param(*args,**kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 1365, in set_param
self_._batch_call_watchers()
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 1480, in _batch_call_watchers
watcher.fn(*events)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\panel\param.py", line 345, in link_widget
self.object.set_param(**{p_name: change.new})
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 1219, in inner
return fn(*args, **kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 2573, in set_param
return self_or_cls.param.set_param(*args,**kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 1358, in set_param
setattr(self_or_cls, k, v)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 294, in _f
instance_param.__set__(obj, val)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 296, in _f
return f(self, obj, val)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 838, in __set__
raise TypeError("Constant parameter '%s' cannot be modified"%self.name)
TypeError: Constant parameter 'x_range' cannot be modified
C:\repos\private\awesome-panel\src\pages\gallery\kickstarter_dashboard\main.py:208: UserWarning: Boolean Series key will be reindexed to match DataFrame index.
sub_df = sub_df[x_filter]
WARNING:param.ParamMethod01391: HoloViews pane model Figure(id='1819', ...) could not be replaced with new model Figure(id='1976', ...), ensure that the parent is not modified at the same time the panel is being updated.
2019-12-18 12:20:37,858 HoloViews pane model Figure(id='1819', ...) could not be replaced with new model Figure(id='1976', ...), ensure that the parent is not modified at the same time the panel is being updated.
WARNING:param.ParamMethod01391: HoloViews pane model Figure(id='1819', ...) could not be replaced with new model Figure(id='2072', ...), ensure that the parent is not modified at the same time the panel is being updated.
2019-12-18 12:20:37,940 HoloViews pane model Figure(id='1819', ...) could not be replaced with new model Figure(id='2072', ...), ensure that the parent is not modified at the same time the panel is being updated.
2019-12-18 12:20:38,271 Exception in callback functools.partial(<function wrap.<locals>.null_wrapper at 0x0000005386226EE8>,
<Future finished exception=TypeError("Constant parameter 'x_range' cannot be modified")>)
Traceback (most recent call last):
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\tornado\ioloop.py", line 758, in _run_callback
ret = callback()
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\tornado\stack_context.py", line 300, in null_wrapper
return fn(*args, **kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\tornado\ioloop.py", line 779, in _discard_future_result
future.result()
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\tornado\gen.py", line 1147, in run
yielded = self.gen.send(value)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\bokeh\server\session.py", line 70, in _needs_document_lock_wrapper
result = yield yield_for_all_futures(func(self, *args, **kwargs))
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\bokeh\server\session.py", line 191, in with_document_locked
return func(*args, **kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\bokeh\document\document.py", line 1127, in wrapper
return doc._with_self_as_curdoc(invoke)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\bokeh\document\document.py", line 1113, in _with_self_as_curdoc
return f()
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\bokeh\document\document.py", line 1126, in invoke
return f(*args, **kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\bokeh\document\document.py", line 916, in remove_then_invoke
return callback(*args, **kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\panel\viewable.py", line 714, in _change_event
self._process_events(events)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\panel\viewable.py", line 704, in _process_events
self.set_param(**self._process_property_change(events))
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 1219, in inner
return fn(*args, **kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 2573, in set_param
return self_or_cls.param.set_param(*args,**kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 1365, in set_param
self_._batch_call_watchers()
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 1480, in _batch_call_watchers
watcher.fn(*events)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\panel\param.py", line 345, in link_widget
self.object.set_param(**{p_name: change.new})
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 1219, in inner
return fn(*args, **kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 2573, in set_param
return self_or_cls.param.set_param(*args,**kwargs)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 1358, in set_param
setattr(self_or_cls, k, v)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 294, in _f
instance_param.__set__(obj, val)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 296, in _f
return f(self, obj, val)
File "C:\repos\private\awesome-panel\.venv\lib\site-packages\param\parameterized.py", line 838, in __set__
raise TypeError("Constant parameter '%s' cannot be modified"%self.name)
TypeError: Constant parameter 'x_range' cannot be modified
Interrupted, shutting down
(.venv)
COPIED FROM https://github.com/holoviz/holoviews/issues/4132#issue-539649259 AS I POSTED IN THE WRONG REPO.
Hi
I'm trying to make a reactive dashboard. I now have my dashboard working great in a Jupyter Notebook. But when I run it via 'panel serve' it raises the below 'exception'.
Maybe it's me that misunderstands something. I've tried many different ways of implementing this as cannot find a reference example.
I've attached the source code, notebook and data.
issue_rangexy.zip
and a small video that shows it works fine in the notebook. But when you start interacting with panel serve it raises the exception.