Plotly画图输出时kaleido报错:Failed to start Kaleido subprocess
在用kaleido 将plotly生成的图片保存至本地时报错,原因是Failed to start Kaleido subprocess,经过对原文档的通读和对问题拆解,原来是没有安装Chrome而导致的decode出错,与降低版本或者系统路径不对无关。
·
报错类型:Failed to start Kaleido subprocess
报错的py文件是BaseScope._ensure_kaleido(self),于是我们先找到该py文件,路径如下:
C:\Users\user\miniconda3\Lib\site-packages\kaleido\scopes
打开base,找到具体的报错代码,
报错原因溯源并拆解:decode 惹的祸
仔细一看是真正的原因是self._get_decoded_std_error(),于是接着分析:
原来是decode的原因,于是通读整个py文件,在int里看到chormium_args 突然意识到因为是新的电脑,默认安装了EDGE浏览器,而没有装Chrome浏览器,所以这个肯定会有问题,
解决方案:下载Chrome浏览器
但当时也是这么推测,于是赶紧上网下载Chrome,
下载安装完之后,重新运行一下代码,图片终于成功导出至本地啦:
import matplotlib.pyplot as plt
from plotly import subplots
import plotly.io as pio
# 假设有一些数据列表
sub_list=["a","b","c"]
x = [1, 2, 3, 4, 5]
y = [10, 8, 6, 4, 2]
y1=[16,8,27,30,35]
y2=[20,8,35,65,25]
# 创建图形,添加子图,并设置标题和标签
fig = subplots.make_subplots(rows=1, cols=3, shared_xaxes=True,
subplot_titles=sub_list, vertical_spacing=0.05,)
fig.add_trace(go.Bar(x=x, y=y, name=sub_list[0],text=y,textposition="auto",
texttemplate='%{text:,.1f}'),row=1, col=1) # 将每个元素的图形添加到fig中
fig.add_trace(go.Bar(x=x, y=y1, name=sub_list[1],text=y1,textposition="auto",
texttemplate='%{text:,.1f}'),row=1, col=2) # 将每个元素的图形添加到fig中
fig.add_trace(go.Bar(x=x, y=y2, name=sub_list[2],text=y2,textposition="auto",
texttemplate='%{text:,.1f}'),row=1, col=3) # 将每个元素的图形添加到fig中
# 显示图表
# fig.show()
path="/Users/username/Desktop/check.png"
pio.write_image(fig,path,format='png',scale=2)
系统配置版本:kaleido--0.2.1
import plotly import sys import kaleido print(plotly.__version__) print(sys.version) print(kaleido.__version__)
因此在没有降低版本的前提下,将这个Failed to start Kaleido subprocess问题解决啦~~
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)