【问题标题】:flask bokeh server- figure does not render (ubuntu) but works on local machine烧瓶散景服务器 - 图不渲染(ubuntu)但在本地机器上工作
【发布时间】:2018-02-23 18:41:03
【问题描述】:

我创建了一个可通过 Flask 访问的散景图。我能够通过本地机器上的烧瓶成功地运行散景服务器

散景服务器bokeh serve--allow-websocket-origin=localhost:5000 filename.py

在两个命令窗口上烧瓶python run.py

现在我想在运行 ubuntu 的虚拟机上做同样的事情。在两个腻子窗口上使用完全相同的命令不再起作用。不过,我可以访问非散景 html 页面。

当尝试访问散景图时,我得到:

OSError: Cannot pull session document because we failed to connect to the server(要启动服务器,请尝试“bokeh serve”命令)

但我已经发起bokeh serve

这是烧瓶中将调用散景服务器的代码 sn-p

@main.route("/grid")
def bokehserver():
    session=pull_session(url="http://localhost:5006/filename")
    bokeh_script=autoload_server(None, url="http://localhost:5006/filename",session_id=session.id)
    return render_template("bokserv.html",bokeh_script=bokeh_script)

编辑:我正在阅读有关在 linux 上运行散景服务器的“linux 服务器配置文件”的内容。我没有制作过这样的配置文件。有人可以确认这些是否完全必要吗?我不想过多地填充我的项目。在我见过的许多示例中,开发人员使用 nginx 和 gunicorn 以及其他东西来启动和运行烧瓶/散景,但到目前为止我已经能够避免这些额外的层..

edit2: bokeh serve --show filename.py 在 ubuntu 终端中生成标准消息,就好像它正在工作一样,但它没有打开浏览器来显示图形。

【问题讨论】:

  • 在我看来,您正在 VM 上的“localhost:5000”上运行,因此您的 Windows PC(主机)无法连接。您应该尝试在您的 VM 上运行 0.0.0.0:5000 并查看是否可以解决问题。
  • 遗憾的是它产生了相同的结果,我可以访问烧瓶网站,但没有散景服务器图呈现
  • 我在本地也没有散景图。我该怎么办??我要疯了!

标签: python flask bokeh web-development-server


【解决方案1】:

我创建了初始帖子中引用的配置文件并使用了bokeh serve --allow-websocket-origin=(my ip):5000 filename.py

然后在flask文件中from werkzeug.contrib.fixers import ProxyFix

然后在app.route(/) 之外我输入app.wsgi_app=ProxyFix(app.wsgi_app)

然后我导航到(my ip):5000

它成功了。

【讨论】:

    猜你喜欢
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多