我正在尝试从 Metthew Rocklin博客文章中重现第一个示例。
关于如何运行 Bokeh 服务器的描述很全面,但我仍然无法让它工作。我正在使用命令“bokeh serve big_bokeh_test.py --show”在Windows shell上运行以下脚本:
from bokeh.server.server import Server
from bokeh.application import Application
from bokeh.application.handlers.function import FunctionHandler
from bokeh.plotting import figure, ColumnDataSource
def make_document(doc):
fig = figure(title='Line plot!', sizing_mode='scale_width')
fig.line(x=[1, 2, 3], y=[1, 4, 9])
doc.title = "Hello, world!"
doc.add_root(fig)
apps = {'/': Application(FunctionHandler(make_document))}
server = Server(apps, port=5000)
server.start()
Run Code Online (Sandbox Code Playgroud)
没有错误并且服务器正在运行,只是输出是一个空页面。我已经寻找了解决方案。以下链接可能相关,但没有解决我的问题:
我正在使用 Python 3.6.3(64 位)和散景 0.12.9。这是来自 windows shell 的输出:
PS C:\Users\kateryna.smirnova\Documents\IBB\bokeh_graphs> bokeh serve big_bokeh_test.py --show
2017-10-14 10:48:00,231 Starting Bokeh server version 0.12.9 (running on Tornado 4.5.2)
2017-10-14 10:48:00,235 Bokeh app running at: http://localhost:5006/big_bokeh_test
2017-10-14 10:48:00,235 Starting Bokeh server with process id: 564
2017-10-14 10:48:00,445 Starting Bokeh server version 0.12.9 (running on Tornado 4.5.2)
2017-10-14 10:48:00,469 200 GET /big_bokeh_test (::1) 137.37ms
2017-10-14 10:48:00,785 101 GET /big_bokeh_test/ws?bokeh-protocol-version=1.0&bokeh-session-id=ERMj5xsMHtF7o3P6KxRRrPDfIMAvIhMcNffgxuct4950 (::1) 1.03ms
2017-10-14 10:48:00,786 WebSocket connection opened
2017-10-14 10:48:00,788 ServerConnection created
Run Code Online (Sandbox Code Playgroud)
你在运行这个吗
bokeh serve script.py
Run Code Online (Sandbox Code Playgroud)
? 如果是这样,这对于这种使用方式是不正确的。与明确的使用m该风格Server以及Application对嵌入背景虚化服务器编程,让事情可以像运行:
python script.py
Run Code Online (Sandbox Code Playgroud)
当我这样运行它时,脚本立即存在,并且无法建立任何连接。我希望从代码中得到这一点。如果您希望脚本连续运行和服务,您需要ioloop通过将其放在脚本末尾来启动 Tornado :
server.io_loop.start()
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我可以打开一个连接,并查看情节。
或者,如果您想以bokeh serve样式运行事物,那么您根本不需要任何ServerorApplication位,但是您确实需要将绘图添加到curdocwith add_root(这就是为什么什么都没有显示的原因,除非您将内容添加到curdoc,您正在提供一份空文件)。这是用于运行的完整代码示例bokeh serve:
from bokeh.io import curdoc
from bokeh.plotting import figure, ColumnDataSource
fig = figure(title='Line plot!', sizing_mode='scale_width')
fig.line(x=[1, 2, 3], y=[1, 4, 9])
curdoc().title = "Hello, world!"
curdoc().add_root(fig)
Run Code Online (Sandbox Code Playgroud)
其中大部分内容在用户指南的运行散景服务器部分中进行了描述。
| 归档时间: |
|
| 查看次数: |
4936 次 |
| 最近记录: |