使用 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包的时候都要启动一次该服务,优化方向是后台一直运行次服务。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
误"ReferenceError: echarts is not defined"表示在代码中尝试使用echarts库时出现了问题。根据引用和引用的描述,可能是echarts库没有被正确引入。这个误通常发生在以下几种情况下: 1. 没有正确引入echarts库:请确保在代码中正确引入了echarts库,可以通过在HTML文件中添加<script>标签引入echarts库的CDN链接或者本地文件路径来解决这个问题。 2. echarts库加载顺序误:如果echarts库被其他脚本提前加载或者加载顺序有误,也会导致该误。确保echarts库在使用之前已经被正确加载。 3. echarts库版本不兼容:某些情况下,可能是因为echarts库的版本不兼容导致的误。请检查代码中使用echarts版本是否与文档或示例代码一致。 4. 脚本位置误:如果代码中的脚本位置不正确,可能导致echarts库未能被正确加载。请确保脚本位置正确并且在需要使用echarts的地方之前加载。 综上所述,要解决"ReferenceError: echarts is not defined"误,您可以按照以下步骤操作: 1. 确保正确引入echarts库,并检查引入方式和路径是否正确。 2. 检查echarts库的加载顺序是否正确,确保在使用echarts之前已经加载。 3. 确认使用echarts版本与代码兼容。 4. 检查代码中脚本的位置,确保在需要使用echarts的地方之前加载。 通过以上步骤,您应该能够解决"ReferenceError: echarts is not defined"误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Uncaught ReferenceError: echarts is not defined](https://blog.csdn.net/ze1024/article/details/115691923)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [记录使用echart遇到的误](https://blog.csdn.net/maple_leaf_red/article/details/107283148)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

积跬步,慕至千里

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值