簡體   English   中英

情節:無法與本地 orca 服務器進程通信,即使服務器進程似乎正在運行

[英]Plotly: unable to communicate with the local orca server process, even though the server process seems to be running

當我將繪圖圖形渲染到文件時,如下所示:

import plotly.graph_objects as go

def produce_graph(graph, data_dir):
    figure = go.Figure()
    [...]
    figure.write_image("output_file.png")

我收到以下錯誤:

Traceback (most recent call last):
  File "/Users/brunorijsman/cascade-python/env/lib/python3.7/site-packages/plotly/io/_orca.py", line 1559, in to_image
    figure=fig_dict, format=format, scale=scale, width=width, height=height
  File "/Users/brunorijsman/cascade-python/env/lib/python3.7/site-packages/retrying.py", line 49, in wrapped_f
    return Retrying(*dargs, **dkw).call(f, *args, **kw)
  File "/Users/brunorijsman/cascade-python/env/lib/python3.7/site-packages/retrying.py", line 212, in call
    raise attempt.get()
  File "/Users/brunorijsman/cascade-python/env/lib/python3.7/site-packages/retrying.py", line 247, in get
    six.reraise(self.value[0], self.value[1], self.value[2])
  File "/Users/brunorijsman/cascade-python/env/lib/python3.7/site-packages/six.py", line 696, in reraise
    raise value
  File "/Users/brunorijsman/cascade-python/env/lib/python3.7/site-packages/retrying.py", line 200, in call
    attempt = Attempt(fn(*args, **kwargs), attempt_number, False)
  File "/Users/brunorijsman/cascade-python/env/lib/python3.7/site-packages/plotly/io/_orca.py", line 1474, in request_image_with_retrying
    raise OSError("522: client socket timeout")
OSError: 522: client socket timeout

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "study/make_graphs.py", line 169, in <module>
    main()
  File "study/make_graphs.py", line 166, in main
    produce_graph(graph, args.data_dir)
  File "study/make_graphs.py", line 70, in produce_graph
    figure.write_image(output_file_name)
  File "/Users/brunorijsman/cascade-python/env/lib/python3.7/site-packages/plotly/basedatatypes.py", line 2824, in write_image
    return pio.write_image(self, *args, **kwargs)
  File "/Users/brunorijsman/cascade-python/env/lib/python3.7/site-packages/plotly/io/_orca.py", line 1767, in write_image
    fig, format=format, scale=scale, width=width, height=height, validate=validate
  File "/Users/brunorijsman/cascade-python/env/lib/python3.7/site-packages/plotly/io/_orca.py", line 1591, in to_image
    info=status_str
ValueError: 
For some reason plotly.py was unable to communicate with the
local orca server process, even though the server process seems to be running.

Please review the process and connection information below:

orca status
-----------
    state: running
    executable: /usr/local/bin/orca
    version: 1.2.1
    port: 65465
    pid: 90478
    command: ['/usr/local/bin/orca', 'serve', '-p', '65465', '--plotly', '/Users/brunorijsman/cascade-python/env/lib/python3.7/site-packages/plotly/package_data/plotly.min.js', '--graph-only', '--mathjax', 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js']

我還嘗試渲染到 .png 文件和 .jpeg 文件,在這些情況下我也得到完全相同的錯誤。

將圖形渲染到瀏覽器可以正常工作:

figure.show()

我已經嘗試添加以下內容,但沒有任何區別:

plotly.io.orca.ensure_server()
time.sleep(10)

作為這個問題

你應該設置超時禁用

# Disable the orca response timeout.
import plotly.io._orca
import retrying
unwrapped = plotly.io._orca.request_image_with_retrying.__wrapped__
wrapped = retrying.retry(wait_random_min=1000)(unwrapped)
plotly.io._orca.request_image_with_retrying = wrapped

暫無
暫無

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

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