ウィジェットの更新を関数にリンクし、出力をパネルに表示すると、関数が処理できない値にウィジェットを更新した結果としてエラーが発生し、パネルの実行を終了してトレースバックを表示する代わりに、関数がサイレント モードで失敗します。 .
次の例では、x
は定義されていないため、スライダーを にドラッグする5
と、関数はサイレントに失敗し、出力値は更新されません。スライダーの開始値が に設定されている5
場合、関数はNameError
期待どおりに a を発生させ、パネルは初期化されません。
import panel as pn
pn.extension()
int_slider = pn.widgets.IntSlider(
name='Integer Slider', value=1, end=5)
@pn.depends(int_slider.param.value, watch=True)
def print_slider_value(slider_value):
if slider_value <= 4:
return slider_value
else:
return slider_value * x
pn.Column(int_slider, print_slider_value) #.app('localhost:8888')
エラーがいつ発生し、トレースバックから何が起こったのかが明確になるように、ウィジェットの値が変更されたときにエラーが発生するようにしたいと考えています。パネルでこれを達成するにはどうすればよいですか? (パイプラインを使用したデバッグ モードでこの問題が発生しましたが、パネルに類似したものは見つかりませんでした)。
次のパッケージバージョンのJupyterLabノートブックでこれを試しています
bokeh 1.2.0
panel 0.6.0
param 1.9.1
IPython 6.5.0
jupyter_client 5.2.3
jupyter_core 4.4.0
jupyterlab 1.0.2
notebook 5.6.0