ImportError: cannot import name 'Iterable' from 'collections' 解决方法

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