【笔记】解决ImportError: cannot import name ‘Iterable‘ from ‘collections‘
#工作记录
一、问题描述
问题回溯
在使用Python=3.13的conda环境运行abu项目时,报以下错:
bbfamily/abu: 阿布量化交易系统(股票,期权,期货,比特币,机器学习) 基于python的开源量化交易,量化投资架构
ImportError: cannot import name 'Iterable' from 'collections'
二、问题分析
因为不同的python版本库在导入语句上会有差异,有些项目代码是在旧版的python环境下支持的,所以当python版本与项目代码不匹配时,就会报此错误,导致这个导入错误,大概版本分水领是python3.10版本。我通过降级到python3.9版本后,此报错消失,也不用修改代码
三、解决方案
建议为项目创建一个独立虚拟环境,并指定 Python 版本为 3.9 或 3.10,以替代原先使用的较高版本(如 Python 3.13)解释器。这样可以在不改动代码的前提下,有效避免版本兼容性问题。