1

ウィジェットの更新を関数にリンクし、出力をパネルに表示すると、関数が処理できない値にウィジェットを更新した結果としてエラーが発生し、パネルの実行を終了してトレースバックを表示する代わりに、関数がサイレント モードで失敗します。 .

次の例では、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
4

2 に答える 2