导入pandas_market_calendars报cannot import name 'apply_wraps'如何解决
报错原因
pandas 2.2及以上版本移除了内部私有函数apply_wraps,你当前安装的pandas_market_calendars为旧版本,代码中仍依赖该已被删除的pandas内部接口,因此触发导入报错。
私有接口属于pandas非公开的内部实现逻辑,版本迭代时不会做向下兼容承诺,外部库直接调用这类接口很容易随pandas升级出现兼容性问题。
解决方案
- 方案1:升级pandas_market_calendars到最新版本
官方已在新版本中修复了该兼容性问题,不再调用已废弃的apply_wraps接口,执行以下命令升级即可:pip install --upgrade pandas_market_calendars - 方案2:降级pandas到兼容版本
若因业务其他依赖限制无法升级pandas_market_calendars,可将pandas降级到仍包含apply_wraps接口的2.1.x系列版本,执行以下命令安装指定版本:
注意:降级pandas可能影响其他依赖高版本pandas的第三方库运行,操作前请先验证依赖兼容性。pip install pandas==2.1.4 - 方案3:使用独立虚拟环境
若不想改动全局Python环境的依赖版本,可创建单独的虚拟环境,在虚拟环境中安装版本匹配的pandas和pandas_market_calendars运行相关代码。
内容的提问来源于stack exchange,提问作者Rajeev Sharan
相关产品推荐
相关产品推荐

