python使用pygal报ModuleNotFoundError: No module named ‘importlib.metadata‘错误解决

最近在练手python数据可视化,在《艾伯特Python编程:从入门到实践》这本书的第二个实践项目,使用pygal进行图表练习时,却无法正常运行所编写的程序。

经过排查,发现import pygal就会报错,报错提示为:
ModuleNotFoundError: No module named ‘importlib.metadata’

第一时间上网搜索了一下,也以为是缺少importlib-metadata这个包,通过pip命令下载安装后,问题依旧,并未解决。

再找,就找不到有用的解答了。唯一觉得可能的是,版本兼容新导致。因为按照报错提示,提示的是__init__初始化方法里缺少importlib.metadata这个名称,非常像是不同版本之间命名规则或者包引用发生变化导致。

上pygal官网,在安装帮助页面,显示“pygal is available for Python 3.6, 3.7, 3.8, 3.9 and pypy.”而笔者当时使用的的版本是python3.7.4。官网支持的呀!再去python官网查,发现最新已到3.12.2版本了。

第一感觉是,pygal难道不支持最新版python?但也不对呀,官方说明支持3.7,可现在看来也有些问题呀。再看官网https://www.pygal.org/en/stable/installing.html最下面的版权声明,copyright 2012-2016,乍以为的确久不更新。不过稍想一下,感觉这个版权声明应该是网站模板的声明,便也不去考究了。

笔者抱着大不了不行的态度,借着这个契机更新了自己的python版本,由于安装时失误,把原来的scripts下的包弄丢了,于是又重新下载安装了所需要的包。

然后在黑窗体进入python,敲入pygal,不再报错了!

到这里,就得到了一个解决办法:更新python版本。

希望给遇到同样问题的朋友提供一个解决思路。

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值