至少两种或三种主要方式构建与Bokeh中的bokeh-server
进行通信的应用。它们对应于Bokeh中folders目录下的app
embed
,plotting
和glyphs
/ examples。
关于它们之间的差异,我读了here以下内容:
在
stock_app.py
(app
文件夹)示例中,您使用bokeh-server
嵌入 小程序并从您指定的网址提供。这就是为什么你要创造一个 新的StockApp
类并创建一个创建新实例的函数 它用bokeh_app.route("/bokeh/stocks/")
和@来装饰它@object_page("stocks")
。您可以按照app
示例(滑块, 库存和交叉过滤器)并使用散景@object_page
和@bokeh_app.route
装饰器来创建自定义网址。在
taylor_server.py
示例(glyphs
文件夹)上,会话对象是会话对象 正在为bokeh-server
为您创建所有内容。从 此界面无法自定义网址或创建别名。
但是这让我感到困惑,“小程序”的含义是什么?在Bokeh术语中“嵌入”,是什么
完全小程序之间的区别(大概是app
和embed
)和plotting
/ glyphs
?
此外,我认为“嵌入”的概念仅涉及我们在embed
文件夹中看到的设计模式,如示例animated.py
中所示,我们在其中嵌入了tag
HTML文件的正文。我在stock_app.py
中没有看到,为什么它是嵌入式示例?
答案 0 :(得分:4)
但是这让我感到困惑,“小程序”的含义是什么? “嵌入” 散景术语
你在这里粘贴的答案显然是错误的(这可能对你的理解没有帮助,对不起)。库存应用示例stock_app.py
位于examples \ app \ stock_applet \ stock_app.py not embed文件夹中。此外,使用的术语也没有帮助。在该示例中,您创建了一个可以以两种不同方式提供服务的小程序:
您可以在examples\app\stock_applet\README.md
文件中找到更多信息。
此外,您还可以找到有关小程序和散景服务器examples documentation和userguide
的信息关于嵌入的含义,您可以在散景文档的user_guide / embedding部分找到更多信息。总而言之,您可以生成可以在自己的Web应用程序代码中插入的代码,以显示散景组件。 examples \ embed中的示例对于理解此模式也很有用。
最后,您在taylor_server.py
中看到的散景服务器的使用只是使用散景服务器为您提供绘图(而不是将其保存为静态html文件)。
希望这会有所帮助; - )
答案 1 :(得分:3)
只是添加一点......我会在邮件列表中粘贴Bryan的引用(在另一个帖子中,所以也许你错过了它):
关于app vs embed。 " apps"都在里面运行散景服务器。所以你开始吧 做类似的事情:
bokeh-server --script sliders_app.py
这样做的主要原因是,否则,制作一个" app" 在服务器之外,唯一真正的解决方案就是长时间运行 轮询服务器以获取更新的进程。这不是理想的应用程序 直接在服务器上运行可以利用更好的回调。 请注意" app"概念仍然是相当新的事物 比如如何开始,轻松拼写和部署应用程序是非常开放的 改进。
"嵌入"这些例子只是展示了如何将一个散景图嵌入到一个 标准的网络应用程序(即,您想要提供Flask中具有的标记 情节)。这可以使用或不使用散景服务器来完成,但是 即使您使用散景服务器,也没有运行的代码 散景服务器响应小部件,或更新绘图或数据。至 更新图表你必须有一个单独的python进程 连接到散景服务器并轮询或推送数据。
干杯。
达米安