You need to enable JavaScript to run this app. Windows 10下darkflow报No module named 'cy_yolo_findboxes'且模块已存在求解决
优惠活动
大模型
产品
解决方案
定价
更多

Windows 10下darkflow报No module named 'cy_yolo_findboxes'且模块已存在求解决

Windows 10 环境下darkflow提示No module named 'darkflow.cython_utils.cy_yolo_findboxes'排查方案

该报错的核心原因是对应目录下仅存在Cython源码文件,未完成编译生成Python可识别的二进制扩展模块,哪怕能看到源码文件存在,没有编译产物也无法被Python加载。

分步解决流程

  • 前置文件校验
    打开darkflow/cython_utils/目录,核对文件清单:如果仅能看到cy_yolo_findboxes.pyx源文件,没有对应后缀为.pyd的编译产物,即可确认是编译流程缺失导致的报错。
  • 安装适配的依赖版本
    Windows环境下不匹配的Cython版本会导致后续编译失败,执行命令固定安装兼容版本:
    pip install cython==0.29.33 numpy
    注意:Cython 3.x以上版本和darkflow旧版源码存在语法兼容问题,不要直接安装最新版本。
  • 执行本地编译
    进入darkflow源码的根目录(即包含setup.py文件的顶层文件夹),打开匹配当前Python环境的命令行,执行编译命令:
    python setup.py build_ext --inplace
    编译流程无报错完成后,会自动在cython_utils目录下生成对应Python版本、系统架构的.pyd扩展文件。
  • 导入有效性校验
    编译完成后,在相同的Python环境下执行导入测试:
    from darkflow.cython_utils.cy_yolo_findboxes import yolo_box_constructor
    无报错即代表模块可正常加载。

常见踩坑提示

  • 必须保证执行编译的Python环境和后续运行darkflow脚本的Python环境完全一致,跨环境生成的.pyd文件无法被识别,会重复触发模块找不到的报错。
  • 不要通过把.pyx源文件手动重命名为.py的方式绕过报错,该操作会丢失Cython优化逻辑,后续运行时会触发函数调用异常。
  • 如果使用Python 3.10及以上版本,编译时如果出现语法兼容报错,可直接对cy_yolo_findboxes.pyx内的数组类型标注做兼容调整,不需要修改核心逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.27 10:54:08