簡體   English   中英

python bokeh 2.0.0 不渲染

[英]python bokeh 2.0.0 does not render

我最近將散景從 1.4 更新到 2.0.0。 我有一個帶有多個散景服務器的燒瓶應用程序。 更新后,散景服務器不再正確渲染(無繪圖,空白),瀏覽器控制台或 redhat shell 中沒有錯誤。 如果我恢復到散景 1.4 + 龍卷風 4.5.3,它會正常呈現。 有人可以幫我弄清楚發生了什么嗎?

Python 3.6.3 散景 2.0.0 龍卷風 6.0.4 紅帽 4.8.5

編輯:為每個散景服務器單獨做bokeh serve myapp.py令人驚訝的工作,這一定是我通過燒瓶部署它們的方式..下面的代碼適用於 bokeh1.4 + tornado 4.5.3

# cycle through bokeh files and start bokeh servers
files = []
boks = []
for file in os.listdir("/mypath_to_bokeh/bokehs/"):
    if file.endswith('.py'):
        boks.append(file)
        file = "bokehs/" + file
        files.append(file)
boks = [os.path.splitext(x)[0] for x in boks]

argvs = {}
urls = []
for i in files:
    argvs[i] = None
    urls.append(i.split('\\')[-1].split('.')[0])
host = 'myhost'

apps = build_single_handler_applications(files, argvs)

bokeh_tornado = BokehTornado(apps, extra_websocket_origins=["hoststring"]) 
bokeh_http = HTTPServer(bokeh_tornado)                    
sockets, port = bind_sockets("ipstring", 0) 
bokeh_http.add_sockets(sockets)

def serve(name):
    @app.route("/{}".format(name), endpoint=str(name))
    #@login_required
    #@bokeh_access
    def func():
        bokeh_script = server_document("ipstring:%d/%s" % (port, name)) 
        gc.collect()
        return render_template("bokserv.html", bokeh_script=bokeh_script)

    func.__name__ = name
    gc.collect()
    return func

all_serve_functions = [serve(name) for name in boks]

我不小心從發布的代碼中遺漏了一些我在申請結束時的內容:

def bk_worker():
    asyncio.set_event_loop(asyncio.new_event_loop())
    bokeh_tornado = BokehTornado(apps, extra_websocket_origins=["localhost:8000"]) 
    bokeh_http = HTTPServer(bokeh_tornado)                     
    sockets, port = bind_sockets("localhost", 0) #PROBLEM LINE
    bokeh_http.add_sockets(sockets)
    server = BaseServer(IOLoop.current(), bokeh_tornado, bokeh_http)
    server.start()
    server.io_loop.start()

t = Thread(target=bk_worker)
t.daemon = True
t.start()

提取#PROBLEM LINE並將其放在bk_worker()函數之前返回散景的大部分功能,現在是重構所有棄用代碼的時候了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM