我指的是Bokeh's Documentation,它描述了如何将Bokeh服务器作为库嵌入。那里有几个例子python,特别是#34; standalone"和#34; Tornado"一个,但都使用龙卷风。 我的问题是:
modify_doc
方法和引用外部范围中的变量的内部方法)。答案 0 :(得分:1)
与大多数其他Web服务器一样,Bokeh的内置Bokeh.server.server.Server
需要运行事件循环。在第一个“独立”示例中,它在Tornado的IOLoop
之上运行(或者像文档所说的那样“捎带”),但实际的应用程序逻辑由Bokeh的内部Application
对象处理。 (我相信它可能会使用其他一些事件循环,比如Python 3的asyncio
中的那个,但我还没有测试过它。)然而,第二个例子是使用Tornado's Web framework来路由相反,请求。
示例函数不使用全局变量 - 它(或者说内部回调函数)只是利用Python的闭包机制,因此它可以将回调函数返回给Bokeh的FunctionHandler
。我对Bokeh并不熟悉,但显然有许多不同的方法可以修改文档 - FunctionHandler
,CodeHandler
,ScriptHandler
,NotebookHandler
等。 Python,类是一个可执行文件,就像任何其他函数一样,所以我很容易看到将一个传递给FunctionHandler
(应该真正称为CallableHandler
)。