tensorboard报错ImportError: cannot import name ‘Mapping’ from ‘collections’
最近在复现深度学习代码的过程中,使用tensorboard出现了这样的错误。附上我解决问题的方法。
"C:\Program Files\Python310\python.exe"
"E:/IT Vedant/Rough Work/1mg.py"
Traceback (most recent call last):
File "E:\IT Vedant\Rough Work\1mg.py", line 2, in <module>
import requests
File "C:\Program Files\Python310\lib\site-packages\requests\__init__.py", line 58, in <module>
from . import utils
File "C:\Program Files\Python310\lib\site-packages\requests\utils.py", line 26, in <module>
from .compat import parse_http_list as _parse_list_header
File "C:\Program Files\Python310\lib\site-packages\requests\compat.py", line 7, in <module>
from .packages import chardet
File "C:\Program Files\Python310\lib\site-packages\requests\packages\__init__.py", line 3, in <module>
from . import urllib3
File "C:\Program Files\Python310\lib\site-packages\requests\packages\urllib3\__init__.py", line 10, in <module>
from .connectionpool import (
File "C:\Program Files\Python310\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 38, in <module>
from .response import HTTPResponse
File "C:\Program Files\Python310\lib\site-packages\requests\packages\urllib3\response.py", line 5, in <module>
from ._collections import HTTPHeaderDict
File "C:\Program Files\Python310\lib\site-packages\requests\packages\urllib3\_collections.py", line 1, in <module>
from collections import Mapping, MutableMapping
ImportError: cannot import name 'Mapping' from 'collections' (C:\Program Files\Python310\lib\collections\__init__.py)
Process finished with exit code 1
注:ubuntu我的错误截图没有保存下来,所以这里仅展示了windows错误示例,供参考。
一、环境配置
ubuntu
python3.10(应该是python3.10导致的问题)
pycharm
二、解决方法
参考:链接
这里展示的是windows的解决方法。照葫芦画瓢,我就在路径下/home/lq/software/anaconda3/envs/inpainting/lib/python3.10/collections
找到了指定的__init__.py文件
帖子中的解决方法是打开__init__.py文件,将from collections import Mapping变更为from collections.abc import Mapping
但是我打开__init__.py文件,也没有找到所谓的from collections import Mapping。
解决方法:直接添加from collections.abc import Mapping,然后就不报错了。