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

darkflow调用错误Python版本致YOLO异常,求解决方案

解决flow命令调用错误Python版本的问题

你这明显是踩了Python环境冲突的坑——系统自带的pip3绑定了Python3.5,而你的cv2只装在Anaconda的Python3.6环境里,用系统pip装的darkflow自然找不到依赖。放心,不用删系统的Python3.5(确实不能乱删,Ubuntu好多系统组件都依赖它),给你几个靠谱的解决办法:

方法一:用Anaconda的pip重新安装darkflow

这是最稳妥的方式,直接让darkflow绑定到有cv2的Python环境:

  • 先卸载之前用系统pip3装的darkflow:
    pip3 uninstall darkflow
    
  • 切换到你之前下载的darkflow仓库目录,用Anaconda的pip来安装:
    /home/bombus/anaconda3/bin/pip install .
    
    (如果习惯用激活脚本,也可以先执行source /home/bombus/anaconda3/bin/activate激活Anaconda的base环境,再直接用pip install .)
  • 之后再运行flow --h,应该就能正常识别到cv2了。

方法二:修改flow脚本的Python解释器路径

如果不想重装,直接改已安装的flow脚本的解释器路径就行:

  • 先找到flow脚本的位置:
    which flow
    
    输出一般是/home/computername/.local/bin/flow这类路径
  • 用编辑器打开这个脚本,把第一行的#!/usr/bin/env python3改成你Anaconda的Python路径:
    #!/home/bombus/anaconda3/bin/python
    
  • 保存后再执行flow --h,脚本就会用Anaconda的Python3.6运行,自然能找到cv2。

方法三:让Anaconda环境优先(永久解决环境冲突)

如果以后不想再碰到这类问题,可以把Anaconda的bin目录加到系统PATH最前面,让系统优先用Anaconda的工具:

  • 临时生效(仅当前终端会话):
    export PATH="/home/bombus/anaconda3/bin:$PATH"
    
  • 永久生效(每次开机都生效):
    打开~/.bashrc文件(用zsh的话就是~/.zshrc),把上面的export命令加到文件末尾,然后执行:
    source ~/.bashrc
    
  • 之后卸载旧的darkflow,用pip install .重新安装,此时的pip是Anaconda的,flow就会绑定到正确的Python环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:14:56