使用pyecharts时报错cannot import name 'Bar' from 'pyecharts'

尝试用pyecharts画个柱状图,需要使用到Bar,可是import的时候报错:cannot import name 'Bar' from 'pyecharts'。

大家都说0.1.9.4可以正常运行,但是当前最新版本就不可以。

比较了下__init__.py,新版本比0.1.9.4少了很多导入的内容,姑且认为新版本比老版本轻了很多,许多本来应该内置的包不在里面提供了;

 

几个可以参考的思路:

1. 安装回0.1.9.4的版本(参考https://blog.csdn.net/weixin_42741271/article/details/90343159)

pip uninstall卸载当前的版本(现在应该是1.5.0),重新pip install pyecharts==0.1.9.4;

或者直接上git下载等等等,没有作用;在安装的时候也一直出现time out错误,没有细究原因;

使用pyecharts时报错cannot import name 'Bar' from 'pyecharts'_第1张图片

2. 在当前最新包的__init__.py里手动补充上哪些本来应该内置的包(参考0.1.9.4的__init__.py文件)

3. 不就是没有Bar嘛,直接pip install Bar装一个

使用pyecharts时报错cannot import name 'Bar' from 'pyecharts'_第2张图片

再次尝试,依然报错;

4. 改变导入方式,使用from pyecharts.charts import Bar(参考的是https://blog.csdn.net/shaooping/article/details/90316540的方法)

简而言之就是新版本的导入方式有变化,而旧版本也不再维护了。

 

看起来奏效了。敲个案例试试。

from pyecharts.charts import Bar

bar = Bar("我的第一个图表", "这里是副标题")
bar.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90])

在Bar和bar处依然报错,但是错误已经变了:Too many positional arguments for constructor call

说明import奏效了~

 

解决剩余的报错。

因为是报参数太多,删除了后面的“这里是副标题”,报错果然消失了,换了下一行的报错:Instance of 'Bar' has no 'add' member

所以猜测新版本不止导入方式不同,方法和参数应该都有修改,所以不用纠结了,直接去阅读文档~

 

 

 

你可能感兴趣的:(各种报错,Python)