2014-11-05 67 views
1

我試圖用autoload_static將其數據嵌入到一個簡單的html頁面中,我想在本地計算機上讀取它。根據我在文檔中所做的,我只需要將.js文件放在指定的文件夾中,並將標籤插入到html中。 但Firefox是給我下一個錯誤: 「無法加載庫http://cdn.pydata.org/bokeh-114a47707b567971f835c5877d2be44ea4e57fef.min.js」 pl.js:21散景無法加載來自CDN的散景

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

你怎麼安裝背景虛化?它看起來像你從GitHub結帳安裝? (這不是一個標準的Bokeh版本號,它看起來像GH哈希)。標準的resources.CDN資源對象嘗試使用當前的散景版本來確定從CDN加載的BokehJS的版本。只有官方發佈的版本纔會上傳到CDN,因此Resources.CDN對GH源安裝不會有用。你必須創建自己的Resource對象,並通過你想要的版本,是這樣的:

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

,然後傳遞到autoload_script

但是,目前無法保證新的當前GH master與以前發佈的BokehJS版本一起工作。因此,不能保證這通常可以起作用。我強烈建議堅持官方的Bokeh發佈。

如果這是一個正式的Bokeh發行版(conda或PyPI包),那麼這是一個嚴重的包裝錯誤,請儘可能詳細地在https://github.com/bokeh/bokeh/issues上提交報告。