小程序,嵌入和散景服务器

时间:2014-12-17 16:16:16

标签: python bokeh

至少两种或三种主要方式构建与Bokeh中的bokeh-server进行通信的应用。它们对应于Bokeh中folders目录下的app embedplottingglyphs / examples

关于它们之间的差异,我读了here以下内容:

  

stock_app.pyapp文件夹)示例中,您使用bokeh-server 嵌入   小程序并从您指定的网址提供。这就是为什么你要创造一个   新的StockApp类并创建一个创建新实例的函数   它用bokeh_app.route("/bokeh/stocks/")和@来装饰它   @object_page("stocks")。您可以按照 app示例(滑块,   库存和交叉过滤器)并使用散景@object_page@bokeh_app.route   装饰器来创建自定义网址。

     

taylor_server.py示例(glyphs文件夹)上,会话对象会话对象   正在为bokeh-server为您创建所有内容。从   此界面无法自定义网址或创建别名。

但是这让我感到困惑,“小程序”的含义是什么?在Bokeh术语中“嵌入”,是什么 完全小程序之间的区别(大概是appembed)和plotting / glyphs

此外,我认为“嵌入”的概念仅涉及我们在embed文件夹中看到的设计模式,如示例animated.py中所示,我们在其中嵌入了tag HTML文件的正文。我在stock_app.py中没有看到,为什么它是嵌入式示例?

2 个答案:

答案 0 :(得分:4)

  

但是这让我感到困惑,“小程序”的含义是什么? “嵌入”   散景术语

你在这里粘贴的答案显然是错误的(这可能对你的理解没有帮助,对不起)。库存应用示例stock_app.py位于examples \ app \ stock_applet \ stock_app.py not embed文件夹中。此外,使用的术语也没有帮助。在该示例中,您创建了一个可以以两种不同方式提供服务的小程序:

  1. 直接在散景服务器上运行
  2. 嵌入(或者如果您愿意,可以集成)到一个单独的应用程序(在这种情况下是Flask应用程序)
  3. 您可以在examples\app\stock_applet\README.md文件中找到更多信息。

    此外,您还可以找到有关小程序和散景服务器examples documentationuserguide

    的信息

    关于嵌入的含义,您可以在散景文档的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进程   连接到散景服务器并轮询或推送数据。

干杯。

达米安