我有一个简单的程序,它在来自 python3.7 的 output_file() 的新 html 文件中显示散景图。我在模板文件夹中也有一个chart.html,其中包含以下条目,并且在本地计算机上一切正常,但我面临的问题是当我将应用程序 dockerize 时,当我运行程序以显示容器中的散景图时出现错误。
if (root.Bokeh !== undefined) {
embed_document(root);
} else {
var attempts = 0;
var timer = setInterval(function(root) {
if (root.Bokeh !== undefined) {
clearInterval(timer);
embed_document(root);
} else {
attempts++;
if (attempts > 100) {
clearInterval(timer);
console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
}
}
}, 10, root)
}
})(window);
});
};
if (document.readyState != "loading") fn();
我的模板/chart.html 有
<!DOCTYPE html>
<html>
<head>
<title>Bokeh Chart!</title>
<link href="http://cdn.pydata.org/bokeh/release/bokeh-0.12.5.min.css" rel="stylesheet">
<link href="http://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.5.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.bokeh.org/bokeh/release/bokeh-0.12.5.min.css" type="text/css" />
<link rel="stylesheet" href="https://cdn.bokeh.org/bokeh/release/bokeh-widgets-0.12.5.min.css" type="text/css" />
<link rel="stylesheet" href="https://cdn.bokeh.org/bokeh/release/bokeh-tables-0.12.5.min.css" type="text/css">
</head>
<body>
<h1>bokeh chart</h1>
{{ div|safe }}
<script src="https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js"
crossorigin="anonymous"></script>
<script src="https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js"
crossorigin="anonymous"></script>
<script src="https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js"
crossorigin="anonymous"></script>
<script src="http://cdn.pydata.org/bokeh/release/bokeh-0.12.5.min.js"></script>
<script src="http://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.5.min.js"></script>
<script type="text/javascript" src="https://cdn.bokeh.org/bokeh/release/bokeh-0.12.5.min.js"></script>
<script type="text/javascript" src="https://cdn.bokeh.org/bokeh/release/bokeh-api-0.12.5.min.js"></script>
<script type="text/javascript" src="https://cdn.bokeh.org/bokeh/release/bokeh-widgets-0.12.5.min.js"></script>
<script type="text/javascript" src="https://cdn.bokeh.org/bokeh/release/bokeh-tables-0.12.5.min.js"></script>
{{ script|safe }}
</body>
</html>
我尝试将其更改为
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<link
href="https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.css"
rel="stylesheet" type="text/css">
</head>
<body>
<h1>line chart with bokeh in flask</h1>
{{ div|safe }}
<div class="bk-root" id="f3e00085-05ba-43da-b01b-b67bf8cc2246" data-root-id="1612"></div>
<script src="https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js" crossorigin="anonymous"></script>
{{ script|safe }}
</body>
</html>
我仍然收到相同的错误“无法运行 BokehJS 代码,因为缺少 BokehJS 库”。我尝试阅读所有可能的堆栈条目,但大多数主题都在散景服务器上。如果有人遇到类似问题或知道问题出在哪里,请告诉我。
谢谢,米基