Python遇见ImportError: cannot import name ‘Mapping’ from ‘collections’ (F:\lib\collections_init_.py)问题

一、问题的产生

在这里插入图片描述

问题就在于导入错误:无法从“集合”导入名称“映射”

因为Python3.10版本以后对requests库进行调整,collections中不能直接调用方法Mapping,MutableMapping

二、问题的解决
#将
from collections import Mapping 
from collections import MutableMapping 
#这些导入全部改为以下这些
from collections.abc import Mapping
from collections.abc import MutableMapping
#即用collections.abc代替collections调用方法Mapping、MutableMapping


三、需要更改的文件
1、可以通过报错来逐一更改:要改的文件可以通过程序报错的路径去改

在这里插入图片描述

2、参考我文件报错文件名并用ctrl+F全局搜索collections.替换为collections.abc.
F:\lib\site-packages\requests\models.py

在这里插入图片描述

F:\lib\site-packages\requests\utils.py

在这里插入图片描述

F:\lib\site-packages\requests\sessions.py

在这里插入图片描述

F:\lib\site-packages\requests\structures.py

在这里插入图片描述

F:\lib\site-packages\requests\cookies.py

在这里插入图片描述

F:\lib\site-packages\urllib3_collections.py

在这里插入图片描述

F:\lib\site-packages\urllib3\util\selectors.py

在这里插入图片描述

其他参考链接:

https://github.com/carbonblack/cbapi-python/issues/298

https://cxybb.com/article/hongel110/121333144

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐