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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐