Где статические переменные пути, установленные в Bokeh (для create_html_snippet)

Я пытаюсь использовать метод Боке create_html_snippet для представления графиков панд / морских обитателей на веб-странице.

В качестве теста я клонировал демо-репозиторий @rpazyaquian здесь - https://github.com/rpazyaquian/bokeh-flask-tutorial/wiki/Rendering-Bokeh-plots-in-Flask. К сожалению, это не работает из-за изменения боке с момента создания репо.

Основной вывод HTML на странице точно такой же, за исключением того, что, очевидно, уникальное имя файла боке отличается.

Единственное отличие в целом заключается в файле * .embed.js, созданном с помощью боке. Как показано в приведенных ниже отрывках, переменные хоста / статического пути в этом файле, похоже, не работают должным образом. Протестировано как со встроенным сервером разработки Flask, так и с Gunicorn.

Вот верхняя часть рабочей версии на сайте Heroku @ rpazyaquian:

var host = "";

var staticRootUrl = "http://localhost:5006/bokeh/static/";
if (host!=""){

    staticRootUrl = host + "/static/";
    var bokehJSUrl = window.location.protocol + "//" + staticRootUrl + "js/bokeh.js";
}
else {
    bokehJSUrl = staticRootUrl +"js/bokeh.js";
}

Вот неработающая локальная версия, использующая Heroku 0.4:

var host = "";

var staticRootUrl = "http://localhost:5006/bokeh/static/";
if (host!=""){

    staticRootUrl = "//" + host + "/bokehjs/static/";
    var bokehJSUrl = staticRootUrl + "js/bokeh.js";
}
else {
    bokehJSUrl = staticRootUrl +"js/bokeh.js";
}

Очевидные проблемы:

  1. Хост не http://localhost:5006, это http://127.0.0.1:5000/ при использовании сервера разработки или что бы вы ни выбрали при использовании gunicorn / nginx
  2. Я не знаю, где устанавливается папка bokehjs, но здесь это не имеет значения.

Есть идеи о том, что изменилось в боке, что могло бы это исправить? Или, в качестве альтернативы, любой, кто успешно обслуживает графики Bokeh с помощью шаблонов Flask, используя альтернативный метод - дайте мне знать, есть ли лучший путь. Я просто пытаюсь вернуть фрагмент HTML для диаграммы для вывода в шаблон.


person Phil Sheard    schedule 23.03.2014    source источник
comment
Здесь довольно много обсуждения встраивания графиков Боке: stackoverflow.com/questions/22345249/   -  person bigreddot    schedule 24.03.2014


Ответы (1)


ОБНОВЛЕНИЕ: эта функция устарела. Пожалуйста, теперь используйте гораздо лучший модуль bokeh.embed:

https://github.com/ContinuumIO/bokeh/blob/master/bokeh/embed.py

Вы можете увидеть несколько примеров его использования по адресу:

https://github.com/ContinuumIO/bokeh/tree/master/examples/embed

person bigreddot    schedule 17.07.2014