关于 【AttributeError: module ‘collections‘ has no attribute ‘Mapping‘】出现的问题

 

 

 

 这个错误通常是由于在Python 3.9或更高版本中,从以上图片中看到的版本是Python3.11,`collections.Mapping`被删除所致。如果使用的是旧版本的代码,可能会导致此错误。解决此问题的方法是将代码中的`Mapping`替换为`abc.Mapping`。

例如,将以下代码:
 

from collections import Mapping

替换为:

from collections.abc import Mapping

这将导入`collections.abc`模块中的`Mapping`类,以替代`collections`模块中的已删除类。

如果你使用的是Python 3.8或更早版本,则不需要进行此更改。在这些版本中,`collections.Mapping`仍然是可用的。

为了兼容不同版本的Python,首先我们要知道 ‘这个错误通常发生在Python 3.8及以上版本中,因为在Python 3.8中`collections.Mapping`已被废弃,取而代之的是`collections.abc.Mapping`。而在Python 3.7及以下版本中,`collections.Mapping`

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年8月8日
下一篇 2023年8月8日

相关推荐