离线环境下解决pyecharts渲染出的html网页空白的问题

在公司的内网上跑pyecharts生成的html,打开后是空白的。

原因:pyecharts会自动去https://assets.pyecharts.org/assets/上拉取js,不联网的情况下就获取不到文件,所以出不了图。

参考了网上的教程,但是不能直接解决,需要略作修改。

下面分别对两种场景提出解决方法,一种是python直接跑在物理机上,另外一种是python跑在容器里。

物理主机上运行python

1. 下载pyecharts-assets-master.zip并解压上传到服务器上。

2. 启动本地http服务器,提供文件下载

网上的资料都是说用:

cd pyecharts-assets-master

python -m http.server 

但是笔者试验后,发现需要指定ip才可以:

python -m http.server -b 10.129.xx.xx 8000

3. 验证http server是否正常启动:

如下代表正常启动

 

4. python程序里需要指定从哪里获取文件:

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

 

容器内运行python

笔者大部分程序都是在容器内部署的,所以需要搞定跑在容器内的程序,如何用pyecharts画图。

1. 启动http server:

尝试了在容器内部启动server,但是不管指定什么ip,都不行。

目前可行的是在物理机上使用物理机本机的ip启动http server,不在物理机上,只要在一个局域网内,也是可以的。

2. python脚本

CurrentConfig.ONLINE_HOST与启动http server的IP一致。

经过验证,这样可以出图。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值