我在jupyter实验室中创建了一个交互式应用程序,并在面板对象上调用了.show(),因此它启动了bokeh服务器,如下例所示。看起来不错,但现在我想停止服务器。如何在不停止jupyter Notebook或杀死我的python内核的情况下做到这一点?我不想重启笔记本内核,因为我不想丢失当前笔记本中存在的其他变量。
我只想停止/杀死由.show()启动的bokeh服务器
import numpy as np
import pandas as pd
import hvplot.pandas
import holoviews as hv
import panel as pn
df = pd.DataFrame(np.random.normal(size=[50, 2]))
hv_plot = df.hvplot()
pn.panel(hv_plot).show(port=12345)
答案 0 :(得分:0)
也许最好这样声明bokeh服务器:
bokeh_server = pn.panel(hv_plot).show(port=12345)
这样,您可以立即控制服务器,而不必查看globals()来查看服务器的位置。
您可以按以下步骤停止服务器:
bokeh_server.stop()
奇怪的是,当您这样停止服务器时,仍然可以访问地址localhost:12345,并且已经在浏览器中打开该应用程序时仍然可以使用它。但是,刷新页面后,页面消失了,您可以再次将端口用于其他应用程序。完全停止服务器需要花费一段时间。