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

运行Flask待办项目时遇ImportError:无法从bson导入_get_object_size

解决Flask-PyMongo的bson导入错误

错误原因

这个ImportError是由于单独安装的bson库与PyMongo自带的bson模块冲突,或者PyMongo、Flask-PyMongo版本不兼容导致的。PyMongo本身已经内置了bson模块,不需要单独安装第三方bson库。

解决步骤

  • 卸载单独安装的bson库:
    pip uninstall bson -y
    
  • 升级PyMongo到兼容版本:
    pip install --upgrade pymongo
    
  • 同步升级Flask-PyMongo:
    pip install --upgrade flask-pymongo
    

验证代码

你的待办事项代码本身没有问题,修复依赖后可以正常运行,注意将connectionstring替换为你的MongoDB实际连接字符串:

from flask import Flask, request, jsonify
from flask_pymongo import PyMongo

app = Flask(__name__)
# 替换为你的MongoDB连接字符串
app.config['MONGO_URI'] = 'mongodb://localhost:27017/your_database_name'
mongo = PyMongo(app)

# 创建新待办事项
@app.route('/api/todo', methods=['POST'])
def create_todo():
    new_todo = {
        "task": "study",
        "date": 18,
        "completed": False
    }

    result = mongo.db.todos.insert_one(new_todo)
    print(result, "已创建")
    return jsonify({"消息": "待办事项创建成功", "ID": str(result.inserted_id)}), 201

if __name__ == '__main__':
    app.run(debug=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 17:45:18