使用PyCharm调试Bokeh服务应用程序

Han*_*art 8 python bokeh

Bokeh服务允许使用绘图和小部件编写快速Web应用程序.我如何在使用时调试python代码bokeh serve --show code.py

big*_*dot 6

我不是真正的IDE用户,所以我真的不能说如何使pycharm bokeh serve app.py正常运行以及如何运行应用程序。但是,从0.12.4现在开始,有将Bokeh服务器作为库嵌入的指南和示例。特别是,您可以创建以app.py“常规”方式运行的:

python app.py
Run Code Online (Sandbox Code Playgroud)

我的猜测是,这种处理方式可能会在IDE中更好地工作。

作为参考,她是一个完整的“独立脚本”嵌入:

import numpy as np
from tornado.ioloop import IOLoop

from bokeh.application.handlers import FunctionHandler
from bokeh.application import Application
from bokeh.layouts import column
from bokeh.models import ColumnDataSource, Slider
from bokeh.plotting import figure
from bokeh.server.server import Server

io_loop = IOLoop.current()

def modify_doc(doc):
    x = np.linspace(0, 10, 1000)
    y = np.log(x) * np.sin(x)
    source = ColumnDataSource(data=dict(x=x, y=y))

    plot = figure()
    plot.line('x', 'y', source=source)

    slider = Slider(start=1, end=10, value=1, step=0.1)
    def callback(attr, old, new):
        y = np.log(x) * np.sin(x*new)
        source.data = dict(x=x, y=y)
    slider.on_change('value', callback)

    doc.add_root(column(slider, plot))

bokeh_app = Application(FunctionHandler(modify_doc))

server = Server({'/': bokeh_app}, io_loop=io_loop)
server.start()

if __name__ == '__main__':
    print('Opening Bokeh application on http://localhost:5006/')
    io_loop.add_callback(server.show, "/")
    io_loop.start()
Run Code Online (Sandbox Code Playgroud)


小智 6

我是这样做的:

  1. 更新为Pycharm CE 2017

  2. 在命令提示符下,运行:

    $ bokeh/Users/myname/envs/my_venv/bin/bokeh

  3. 从所选菜单中:运行>编辑配置

  4. 输入从第2步到"脚本路径:"的路径

  5. 填写"参数:" serve --show /full/path/to/viz.py --args myargs

这打开了一个浏览器窗口http:// localhost:5006/viz并在设置的断点处停止viz.py

希望对你有用


tvt*_*173 5

也可以通过python -m bokeh 这样的方式运行散景,您可以打开“运行/调试配置”对话框并将解释器选项设置为-m bokeh serve --show,您的脚本将按原样运行