散景服务 运行 但无法使用浏览器访问
bokeh serve running but can't access with browser
我已经安装了 bokeh 并从官方页面 (http://docs.bokeh.org/en/latest/docs/user_guide/server.html) 下载了 myapp.py,它看起来像这样。
# myapp.py
from random import random
from bokeh.layouts import column
from bokeh.models import Button
from bokeh.palettes import RdYlBu3
from bokeh.plotting import figure, curdoc
# create a plot and style its properties
p = figure(x_range=(0, 100), y_range=(0, 100), toolbar_location=None)
p.border_fill_color = 'black'
p.background_fill_color = 'black'
p.outline_line_color = None
p.grid.grid_line_color = None
# add a text renderer to our plot (no data yet)
r = p.text(x=[], y=[], text=[], text_color=[], text_font_size="20pt",
text_baseline="middle", text_align="center")
i = 0
ds = r.data_source
# create a callback that will add a number in a random location
def callback():
global i
# BEST PRACTICE --- update .data in one step with a new dict
new_data = dict()
new_data['x'] = ds.data['x'] + [random()*70 + 15]
new_data['y'] = ds.data['y'] + [random()*70 + 15]
new_data['text_color'] = ds.data['text_color'] + [RdYlBu3[i%3]]
new_data['text'] = ds.data['text'] + [str(i)]
ds.data = new_data
i = i + 1
# add a button widget and configure with the call back
button = Button(label="Press Me")
button.on_click(callback)
# put the button and plot in a layout and add to the document
curdoc().add_root(column(button, p))
然后在终端中执行:
bokeh serve --show myapp.py
我看到了:
2017-04-17 13:24:50,576 Starting Bokeh server version 0.12.5
2017-04-17 13:24:50,581 Starting Bokeh server on port 5006 with applications at paths ['/myapp']
2017-04-17 13:24:50,581 Starting Bokeh server with process id: 700
我的浏览器(尝试了 Safari 和 Chrome)然后弹出一个新选项卡 http://localhost:5006/myapp 但页面没有加载。它停留在进度条的 10% 左右,并且从未从 "Waiting for localhost..." 改变。我已经安装了 bokeh 网站上列出的依赖项。我错过了什么?
我是运行OS顺便说一下X 10.12.4。我也在 Windows 机器上试过,但遇到了完全相同的问题。我的 Web 浏览器的控制台中没有显示任何内容,只是一直显示 "waiting for 127.0.0.1"。如果我关闭浏览器并尝试重新打开页面,我会在终端中看到一个“302 GET”请求,但仅此而已。
我希望你们都遇到这个最近的问题:
Bokeh Server is incompatible with tornado=4.5
Tornado 4.5(几天前发布)进行了更改,导致 Bokeh 服务器不再正常运行。这个问题的修复在 master 中,并将在下一个 0.12.6
版本中。但最新的开发版本中也提供了该修复程序。您的直接选择是:
- 将 Tornado 降级到 <= 4.4.2,或
- 安装 Bokeh >= 0.12.6
我已经安装了 bokeh 并从官方页面 (http://docs.bokeh.org/en/latest/docs/user_guide/server.html) 下载了 myapp.py,它看起来像这样。
# myapp.py
from random import random
from bokeh.layouts import column
from bokeh.models import Button
from bokeh.palettes import RdYlBu3
from bokeh.plotting import figure, curdoc
# create a plot and style its properties
p = figure(x_range=(0, 100), y_range=(0, 100), toolbar_location=None)
p.border_fill_color = 'black'
p.background_fill_color = 'black'
p.outline_line_color = None
p.grid.grid_line_color = None
# add a text renderer to our plot (no data yet)
r = p.text(x=[], y=[], text=[], text_color=[], text_font_size="20pt",
text_baseline="middle", text_align="center")
i = 0
ds = r.data_source
# create a callback that will add a number in a random location
def callback():
global i
# BEST PRACTICE --- update .data in one step with a new dict
new_data = dict()
new_data['x'] = ds.data['x'] + [random()*70 + 15]
new_data['y'] = ds.data['y'] + [random()*70 + 15]
new_data['text_color'] = ds.data['text_color'] + [RdYlBu3[i%3]]
new_data['text'] = ds.data['text'] + [str(i)]
ds.data = new_data
i = i + 1
# add a button widget and configure with the call back
button = Button(label="Press Me")
button.on_click(callback)
# put the button and plot in a layout and add to the document
curdoc().add_root(column(button, p))
然后在终端中执行:
bokeh serve --show myapp.py
我看到了:
2017-04-17 13:24:50,576 Starting Bokeh server version 0.12.5
2017-04-17 13:24:50,581 Starting Bokeh server on port 5006 with applications at paths ['/myapp']
2017-04-17 13:24:50,581 Starting Bokeh server with process id: 700
我的浏览器(尝试了 Safari 和 Chrome)然后弹出一个新选项卡 http://localhost:5006/myapp 但页面没有加载。它停留在进度条的 10% 左右,并且从未从 "Waiting for localhost..." 改变。我已经安装了 bokeh 网站上列出的依赖项。我错过了什么?
我是运行OS顺便说一下X 10.12.4。我也在 Windows 机器上试过,但遇到了完全相同的问题。我的 Web 浏览器的控制台中没有显示任何内容,只是一直显示 "waiting for 127.0.0.1"。如果我关闭浏览器并尝试重新打开页面,我会在终端中看到一个“302 GET”请求,但仅此而已。
我希望你们都遇到这个最近的问题:
Bokeh Server is incompatible with tornado=4.5
Tornado 4.5(几天前发布)进行了更改,导致 Bokeh 服务器不再正常运行。这个问题的修复在 master 中,并将在下一个 0.12.6
版本中。但最新的开发版本中也提供了该修复程序。您的直接选择是:
- 将 Tornado 降级到 <= 4.4.2,或
- 安装 Bokeh >= 0.12.6