ImportError: cannot import name ‘Iterable’ from ‘collections’ 解决方法
产生原因
- 在 Python 3.10 中,
Iterable
类已经从collections
模块中移除,转而放置在collections.abc
模块中。tabulate
库可能是为旧版本的 Python 编写的,因此需要更新或修改库以适配新的 Python 版本。
解决方法
方法一:更新 tabulate
库
推荐使用第一种方法,以便使用库作者提供的最新功能和修复。
可以使用以下命令更新库:
pip install --upgrade tabulate
方法二:打开报错文件插入一下代码
这种方法特别适用于无法立即确定 Python 版本,或者希望代码在不同版本的 Python 中都能正常工作时。
# 修改之前的出错代码行
# from collections import Iterable
# 修改为以下
try:
from collections.abc import Iterable
except ImportError:
from collections import Iterable