ImportError: cannot import name ‘Mapping‘ from ‘collections‘
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
来源:水月梨诺