当前位置: 首页 > news >正文

使用 pyecharts 渲染成图片程序报错: echarts is not defined问题处理

背景

之前写的使用 snapshot_selenium 来保存pyeacharts渲染成的网页截图,可以正常运行。程序搁置了半年,不知道动了电脑哪里,再次运行程序时,程序开始报错:JavascriptException: javascript error: echarts is not defined (Session info: chrome-headless-shell=126.0.6478.126),来来回回试了一些方式,包括卸载重装相关模块或者替换模块,均没解决问题。
在这里插入图片描述

在查找解决方案的时候,看到一些可能有用的后续替代方案,pyeacharts渲染成图片,可以有至少三个模块来支持:

from snapshot_selenium import snapshot # selenium方式
# from snapshot_phantomjs import snapshot # phantomjs方式
# from snapshot_pyppeteer import snapshot # 采用pyppeteer生成图片

由于之前好使的snapshot_selenium 方式开始报错,另两个模块也不能用了。

解决方式

通过尝试网上给出的解决策略,最后选择了参考博文《selenium.common.exceptions.JavascriptException: Message: javascript error: echarts is not defined 错误》给出的方式试了下,程序确实可以运行了。就是稍微麻烦一点,不过先解决眼前的危机再说。

处理过程:

  • 第一步:在下述github链接 https://github.com/pyecharts/pyecharts-assets.git 中下载项目
    第二步:启动服务(在cmd中执行,当时当关闭终端之后这个服务会停止)
    第三步:打开assets文件所在位置,运行服务,命令行中运行类似下列代码:
cd pyecharts-assets # 切换到下载的项目文件夹
python -m http.server # 启动服务

第四步:在python代码中加入下述代码

from pyecharts.globals import CurrentConfig 
CurrentConfig.ONLINE_HOST = "http://127.0.0.1:8000/assets/"

操作完上述过程后,程序成功运行。good!

备注: 每次调用pyecharts包的时候都要启动一次该服务,优化方向是后台一直运行次服务。

相关文章:

  • SQL面试题练习 —— 求连续段的起始位置和结束位置
  • 51单片机第18步_将TIM0用作13位定时器
  • claude3.5写作——《基于灰色预测的中国人口数量预测》
  • 分页联合查询实现方法(Java)
  • 数据库表导出到excel
  • 数据库主从复制
  • 第5章:软件工程
  • 在window上搭建docker
  • 实验一 MATLAB \ Python数字图像处理初步
  • java web 部分
  • miniprogram-to-uniapp-微信小程序转换成uniapp项目
  • 约瑟夫环-map法
  • Qt源码分析:窗体绘制与响应
  • js文件的执行和变量初始化缓存
  • Java面向对象练习(1.手机类)(2024.7.4)
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • Android交互
  • axios 和 cookie 的那些事
  • Docker 笔记(2):Dockerfile
  • ES6核心特性
  • iOS | NSProxy
  • java 多线程基础, 我觉得还是有必要看看的
  • JavaScript设计模式与开发实践系列之策略模式
  • Java基本数据类型之Number
  • Kibana配置logstash,报表一体化
  • MySQL主从复制读写分离及奇怪的问题
  • SpringBoot 实战 (三) | 配置文件详解
  • 动态规划入门(以爬楼梯为例)
  • 关于 Cirru Editor 存储格式
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 学习JavaScript数据结构与算法 — 树
  • 一道闭包题引发的思考
  • ​香农与信息论三大定律
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .net core 6 redis操作类
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • // an array of int
  • :中兴通讯为何成功
  • []AT 指令 收发短信和GPRS上网 SIM508/548
  • [Android]将私钥(.pk8)和公钥证书(.pem/.crt)合并成一个PKCS#12格式的密钥库文件
  • [Angular 基础] - 表单:响应式表单
  • [BZOJ] 1001: [BeiJing2006]狼抓兔子
  • [BZOJ5125]小Q的书架(决策单调性+分治DP+树状数组)
  • [C++] cout、wcout无法正常输出中文字符问题的深入调查(1):各种编译器测试
  • [CSS]文字旁边的竖线以及布局知识
  • [ESP32 IDF]web server
  • [leetcode] 66. 加一
  • [NOI2005]聪聪与可可(期望)