python - 如何停止在我的 jupyter 实验室或笔记本中由面板启动的 Bokeh 服务器/应用程序? (不杀死我的内核)

标签 python jupyter bokeh hvplot panel-pyviz

我在 jupyter 实验室中创建了一个交互式应用程序,并在面板对象上调用了 .show(),因此它启动了一个 Bokeh 服务器,如下例所示。看起来不错,但现在我想停止服务器。如何在不停止 jupyter 笔记本或终止我的 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)

最佳答案

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

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

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

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

bokeh_server.stop()

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

关于python - 如何停止在我的 jupyter 实验室或笔记本中由面板启动的 Bokeh 服务器/应用程序? (不杀死我的内核),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57705735/

相关文章:

python - 对内部级别的多索引列进行操作

ipython - 无法在 Windows 上使用 Anaconda 转换 ipython 笔记本

python - Jupyter:JupyterLab 在哪里存储用户设置?

python - Bokeh中设置的静态路径变量在哪里(用于create_html_snippet)

Python:如何替换pdf中的文本

python - 如何触发模型更新它链接到的列表

python - 在 Bokeh 中的饼图上添加自定义工具提示并正确显示

python - Bokeh 绘图 : 'NoneType' object has no attribute 'line'

python - 另一个DataFrame的pandas dataframe求和日期范围

python - 如何获取正在使用的 ipython 笔记本的文件路径? (相当于 __file__)