You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.10 PyCharm环境安装cbpro后多项目出现collections相关报错

报错原因

该问题由Python版本与依赖包版本不兼容导致:

  • Python 3.3开始就将collections.MutableMapping这类抽象基类迁移到了collections.abc子模块下,Python 3.10及以上版本直接移除了collections模块下对这些类的别名兼容
  • 你安装的cbpro模块已停止维护多年,它的依赖声明里强制要求使用非常老旧版本的requests(通常是2.13.0及以下版本),这些老版本requests还在使用已被高版本Python移除的collections.MutableMapping调用,因此触发报错
  • 安装cbpro时pip会自动降级你的全局requests版本,所以原本正常运行的其他依赖高版本requests的项目也会跟着报错
永久解决方案

按推荐优先级排序如下:

  • 方案1:使用cbpro的官方替代库
    Coinbase官方现在已经推出了新版Python SDK coinbase-advanced,完全替代停止维护的cbpro,兼容Python3.10+及新版requests,安装命令:pip install coinbase-advanced,对应调整你原有cbpro相关的调用逻辑即可,完全满足对接Coinbase API的需求
  • 方案2:虚拟环境隔离
    如果你必须使用原版cbpro,不要在全局Python环境安装,为cbpro项目单独创建虚拟环境,虚拟环境内安装Python3.9及以下版本(Python3.9还保留了collections下的别名兼容),单独安装cbpro及对应依赖,不会影响全局其他项目的运行
  • 方案3:手动修复兼容(仅临时使用,不推荐)
    如果既不想换SDK也不想装低版本Python,可以手动修改报错的requests源码文件:
    找到/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/requests/cookies.py,将第174行的collections.MutableMapping改为collections.abc.MutableMapping,同目录下的其他requests文件如果出现同类报错也按这个规则修改即可。该修改为临时方案,重装requests就会失效。

内容的提问来源于stack exchange,提问作者Andrew M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 17:36:04