3

我在我的 jupyter 实验室中创建了一个交互式应用程序,并在我的面板对象上调用了 .show(),因此它启动了一个散景服务器,如下例所示。看起来不错,但现在我想停止服务器。如何在不停止 jupyter notebook 或杀死我的 python 内核的情况下做到这一点?我不想重新启动笔记本内核,因为我不想丢失当前笔记本中存在的其他变量。
我只想停止/杀死由 .show() 启动的散景服务器

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)
4

1 回答 1

2

也许最好这样声明散景服务器:

bokeh_server = pn.panel(hv_plot).show(port=12345)

这样您就可以立即控制服务器,而无需查看您的 globals() 来查看服务器的位置。

您可以按如下方式停止服务器:

bokeh_server.stop()

奇怪的是,当你像这样停止服务器时,仍然可以访问地址 localhost:12345,并且当你已经在浏览器中打开它时,你仍然可以使用该应用程序。但是,当您刷新页面时,它就消失了,您可以再次将该端口用于不同的应用程序。服务器完全停止之前只需要很长时间。

于 2019-08-29T11:59:02.063 回答