0

我有一个简单的程序,它在来自 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 库”。我尝试阅读所有可能的堆栈条目,但大多数主题都在散景服务器上。如果有人遇到类似问题或知道问题出在哪里,请告诉我。

谢谢,米基

4

0 回答 0