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

Jupyter Notebook中bson库调用decode_all报属性错误问题

问题根因

报错是本地Python环境安装了冲突的第三方bson包导致的。
官方pymongo库自带的bson模块实现了decode_all方法,但PyPI源上存在一个同名的独立第三方bson包,这个独立包没有decode_all接口,两个包的导入命名空间完全冲突。如果本地环境先安装了独立的bson包,代码导入时加载的就是这个无对应方法的版本,就会触发属性错误。
Google Colab环境默认预装的是PyMongo附带的官方bson模块,因此相同代码可以正常运行。

修复方案
  • 先彻底卸载当前环境中存在冲突的包,避免残留文件影响:
pip uninstall -y bson
pip uninstall -y pymongo
  • 重新安装官方PyMongo库,安装完成后会自动附带兼容的bson模块:
pip install pymongo

如果你使用conda管理虚拟环境,也可以直接执行conda install pymongo完成安装。

  • 验证修复效果:进入Python交互终端执行以下代码,返回True即说明修复完成:
import bson
print(hasattr(bson, 'decode_all'))

注意:永远不要单独执行pip install bson安装独立bson包,只要安装了pymongo就会自带符合要求的bson依赖,单独安装同名包必然会触发命名空间冲突。

内容的提问来源于stack exchange,提问作者Ramin Bakhtiyari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 03:57:21