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

运行Python NER项目测试用例报Can not call init more than once如何解决

错误原因

该报错是json_logging库的init()方法被重复调用导致的。从错误栈可以看出:运行测试用例时,每次导入app模块都会执行一次setup_json_logs(app),进而触发一次json_logging.init(framework_name="flask"),而该库的设计不允许重复初始化,因此抛出RuntimeError。
另外你提供的log.py代码还存在语法错误:setup_json_logs函数中json_logging.init(framework_name="flask"这行漏写了右括号,也会导致运行失败。

修复方案
  • 先修正语法错误,给json_logging.init(framework_name="flask"补充右括号
  • 在初始化前增加状态判断,避免重复调用init()方法,修改后的setup_json_logs函数参考如下:
def setup_json_logs(app):
    json_logging.ENABLE_JSON_LOGGING = True
    # 仅未初始化时才执行init操作
    if not json_logging.is_init():
        json_logging.init(framework_name="flask")
    json_logging.init_request_instrument(app)
  • 单元测试场景下如果是多次导入app导致的重复触发,也可以调整测试套件的初始化逻辑,统一在测试启动前执行一次日志初始化,避免每个用例导入时重复执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:54:02