gpt4 book ai didi

python - 将 Bokeh 服务器嵌入为库 : standalone vs. Tornado 和面向对象的设计

转载 作者:太空宇宙 更新时间:2023-11-03 15:47:00 24 4
gpt4 key购买 nike

我指的是Bokeh's Documentation其中描述了如何将 Bokeh 服务器作为库嵌入。那里有几个示例 python,特别是一个用于“standalone”,另一个用于“Tornado”,但两者都使用 Tornado。我的问题是:

  1. 如果两者都使用 Tornado,概念上有什么区别?为什么叫独立版呢? (我不太了解Tornado)。
  2. 我可以使用面向对象的类设计来编码 GUI,而不是使用具有全局变量的函数,就像给定的示例中那样(请参阅示例中的 modify_doc 方法和引用变量的内部方法在外部范围内)。

最佳答案

  1. 与大多数其他 Web 服务器一样,Bokeh 的内置 Bokeh.server.server.Server需要一个事件循环来运行。在第一个“独立”示例中,它在 Tornado 的 IOLoop 之上运行(或如文档所说的“搭载”)。 ,但实际的应用逻辑是由Bokeh内部处理的Application目的。 (我相信可能可以使用其他一些事件循环,例如 Python 3 的 asyncio 中的事件循环,但我还没有测试过它。)然而,第二个示例是使用 Tornado's Web framework 。来路由请求。

  2. 示例函数没有使用全局变量 - 它(或者更确切地说,内部回调函数)只是利用 Python 的闭包机制,因此它可以将回调函数返回到 Bokeh 的 FunctionHandler 。我对 Bokeh 不太熟悉,但显然有多种不同的方法可以修改文档 - FunctionHandler , CodeHandler , ScriptHandler , NotebookHandler在Python中,类是像任何其他函数一样的可执行文件,因此我可以轻松地看到将一个传递给 FunctionHandler (实际上应该称为 CallableHandler )。

关于python - 将 Bokeh 服务器嵌入为库 : standalone vs. Tornado 和面向对象的设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41658991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com