问题描述:

Python导入模块时出现ImportError: cannot import name ‘Mapping’ from ‘collections’ 的问题:

ImportError: cannot import name 'Mapping' from 'collections' (D:\Program Files\Python\lib\collections\__init__.py)

 

解决办法:

   原因分析:无法从“集合”导入名称“映射”,因为Python3.10版本以后对requests 库进行调整,collections中不能直接调用方法Mapping,MutableMapping

  办法就是:找到引用collections模块的__init__.py文件,调整从abc导入:

本例的路径是 D:\Program Files\Python\lib\collections\__init__.py
# 将这两句
from collections import Mapping 
from collections import MutableMapping

# 替换为以下两句
from collections.abc import Mapping
from collections.abc import MutableMapping
# 即用collections.abc代替collections调用方法Mapping、MutableMapping

  重新执行就不再出错了!

posted on 2022-09-29 09:43  HandsomeFa  阅读(10159)  评论(0编辑  收藏  举报