Bokeh无法从CDN加载散景

时间:2014-11-05 15:45:13

标签: javascript python html bokeh

我正在尝试使用autoload_static将其数据嵌入到我想要在我的计算机上本地读取的简单html页面中。根据我在文档中的内容,我只需要将.js文件放在指定的文件夹中,然后在html中插入标记。 但firefox正在给我下一个错误: “无法加载库http://cdn.pydata.org/bokeh-114a47707b567971f835c5877d2be44ea4e57fef.min.js”pl.js:21

import numpy as np
from bokeh.plotting import *
from bokeh.objects import PanTool
N = 80

x = np.linspace(0, 4*np.pi, N)
y = np.sin(x)

pantool = PanTool(dimensions=["width", "height"])
plot = line(x,y, color="#0000FF", tools=['wheel_zoom','box_zoom', pantool],
     name="line_example")

from bokeh.resources import CDN
from bokeh.embed import autoload_static


js, tag = autoload_static(plot, CDN,"/Users/john/Desktop/Tests/js/pl.js")

file = open("/Users/john/Desktop/Tests/js", "w")    
file.write(js)
file.close()

print(tag)

和html页面:

<!DOCTYPE html>
<html>
<body>

<h1>
Hello World
</h1>

<p><script
    src="/Users/john/Desktop/Tests/js/pl.js"
    id="836fbd4f-68b5-4cdf-8a56-047c2a22af2a"
    async="true"
    data-bokeh-data="static"
    data-bokeh-modelid="line_example"
    data-bokeh-modeltype="Plot"
    data-bokeh-loglevel="info"
></script></p>

</body>
</html>

1 个答案:

答案 0 :(得分:3)

你是如何安装Bokeh的?看起来你已经从GitHub结帐安装了? (这不是标准的Bokeh版本号,它看起来像GH哈希)。标准resources.CDN资源对象尝试使用当前散景版本来确定要从CDN加载的BokehJS的版本。只有正式发布的版本才会上传到CDN,因此Resources.CDN对于GH源安装不会有用。您必须创建自己的Resource对象并传入所需的版本,例如:

myCDN = Resources(mode="cdn", version="0.6.1")

然后将其传递给autoload_script

然而,目前无法保证新的当前GH大师能够使用之前发布的BokehJS版本。因此,一般而言,无法保证这也能奏效。我的强烈建议是坚持官方的Bokeh版本。

如果这是官方的Bokeh版本(conda或PyPI包),那么这是一个严重的包装错误,请在https://github.com/bokeh/bokeh/issues提交尽可能详细的报告。