1. 问题诊断:为什么Pyecharts离线部署会白屏?
最近在公司内网环境用Pyecharts生成图表时,遇到了一个典型问题:生成的HTML文件打开后只有一片空白。相信不少开发者都踩过这个坑,今天我就来详细分析下背后的原因。
Pyecharts默认会从在线CDN加载echarts.min.js这个核心JavaScript文件。当你打开生成的HTML时,浏览器会尝试访问类似https://assets.pyecharts.org/assets/v5/echarts.min.js这样的远程地址。但在内网或离线环境下,这个请求注定会失败,导致图表无法渲染。
验证这个问题很简单:
- 用浏览器打开生成的HTML文件
- 按F12打开开发者工具
- 查看Console或Network面板
你会看到类似"Failed to load resource: net::ERR_INTERNET_DISCONNECTED"的错误提示。这就好比盖房子时,施工队找不到地基材料,自然建不出完整的建筑。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 资源本地化:正确获取和存放JS文件
解决这个问题的核心思路很简单:把在线资源变成本地资源。但实际操作中有几个关键点需要注意:
2.1 获取echarts.min.js的正确方式
千万不要直接复制网页内容保存为JS文件!我刚开始也犯了这个错误,结果图表依然白屏。正确做法是:
- 访问官方资源地址:
bash复制
https://assets.pyecharts.org/assets/v5/echarts.min.js - 在浏览器中右键选择"另存为"
- 确保保存格式为UTF-8编码
或者使用wget命令下载:
bash复制wget https://assets.pyecharts.org/assets/v5/echarts.min.js
2.2 项目目录结构规划
文件存放位置直接影响最终效果。推荐两种目录结构方案:
方案一:平级目录结构
code复制project/
├── main.py
├── echarts.min.js
└── output.html
方案二:资源子目录结构
code复制project/
├── src/
│ ├── main.py
