panel: RangeXY raising exception with panel serve but not in Notebook
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.
$ 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)
I’ve attached the source code, notebook and data.
and a small video that shows it works fine in the notebook. But when you start interacting with panel serve it raises the exception.

About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 16 (9 by maintainers)
I really wish I could do something about those warnings easily. They are indeed totally harmless but somewhat disconcerting nonetheless.
Actually I’m wrong about that if you run it with
panel serveorbokeh serveit is indeed reevaluated.Ah sorry, I see you posted the file, sorry about that.