You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plotly Express保存图片失败:进程持续运行直至手动中断

Plotly Express write_image 进程卡住无法保存图片的问题解决

问题概述

在VSCode的Jupyter Notebook环境中,调用Plotly Express的fig.write_image()保存本地图片时,进程会持续运行直至手动键盘中断;即使使用极简代码示例也复现该问题,已通过pip安装orca和kaleido但未解决。

可能原因

  • 渲染器配置冲突:设置了pio.renderers.default = 'notebook_connected',该渲染器面向交互式笔记本,与静态图片导出的逻辑冲突,引发进程阻塞。
  • Kaleido/Orca环境未正确配置:仅通过pip安装可能缺少底层二进制依赖或环境变量配置,导致导出引擎无法正常启动。
  • Notebook环境IO阻塞:Jupyter内核的交互模式可能干扰静态图片的IO导出流程,造成进程挂起。

解决办法

  1. 指定静态导出引擎
    在调用write_image()时明确指定使用kaleido或orca,或修改默认渲染器为静态导出类型:

    import plotly.io as pio
    # 方式1:修改默认渲染器为kaleido
    pio.renderers.default = 'kaleido'
    # 方式2:直接在write_image中指定引擎
    fig.write_image('image.png', engine='kaleido')
    
  2. 重新配置Kaleido环境

    • 先卸载现有包:pip uninstall kaleido -y
    • 根据操作系统下载对应预编译的Kaleido二进制包,解压后将二进制文件路径添加到系统PATH环境变量
    • 重新安装:pip install kaleido
  3. 检查Orca依赖(若选用Orca引擎)

    • 确保已安装Node.js,通过npm全局安装Orca:npm install -g orca
    • 在终端执行orca --version验证是否正常运行
  4. 脱离Notebook环境测试
    将代码保存为独立.py文件,在终端直接运行,排除Notebook内核的交互模式干扰。

  5. 验证输出目录权限
    确保目标目录存在且有写入权限,若目录不存在先创建:

    import os
    os.makedirs('boxplot_generated', exist_ok=True)
    fig.write_image('boxplot_generated/image.png')
    

内容的提问来源于stack exchange,提问作者scerva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 22:25:41