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

将Roboflow项目导入程序遇BoxAnnotator弃用错误,求解决方案

问题分析与解决方案

1. Supervision BoxAnnotator 弃用警告

  • 原因:你的代码虽未直接调用BoxAnnotator,但inference或roboflow库内部依赖的Supervision版本已更新,旧的BoxAnnotator被标记为弃用,后续版本会彻底移除。
  • 解决办法:
    • 方法一:降级Supervision到0.21.x版本,暂时规避警告:
      pip install supervision==0.21.0
      
    • 方法二:更新inference和roboflow库到最新版本,确保它们适配Supervision的新API:
      pip install --upgrade roboflow inference
      
    • 方法三:如果后续需要自行绘制检测框和标签,替换为新的API(示例代码):
      import supervision as sv
      
      # 替代旧的BoxAnnotator
      box_annotator = sv.BoundingBoxAnnotator()
      label_annotator = sv.LabelAnnotator()
      
      # 标注示例(假设image是输入图像,results是模型推理结果)
      annotated_image = box_annotator.annotate(scene=image, detections=results)
      annotated_image = label_annotator.annotate(scene=annotated_image, detections=results)
      

2. Roboflow 认证令牌提示

  • 原因:roboflow.login()需要通过CLI完成认证流程,你当前代码中直接硬编码API密钥的方式与login()调用冲突,导致系统提示获取认证令牌。
  • 解决办法:
    • 方法一:移除roboflow.login()调用,直接用API密钥初始化Roboflow对象(你的代码已包含此逻辑,保留即可):
      # 删除这一行:roboflow.login()
      rf = Roboflow(api_key="my_key")
      
    • 方法二:通过环境变量设置API密钥,更安全规范:
      在终端设置环境变量(Windows用set,Linux/macOS用export):
      # Linux/macOS
      export ROBOFLOW_API_KEY="my_key"
      # Windows
      set ROBOFLOW_API_KEY="my_key"
      
      代码中可简化为:
      import roboflow
      rf = Roboflow()  # 自动读取环境变量中的API密钥
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 15:06:08