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

Docker部署BotSORT遇ModuleNotFoundError: No module named 'yolov7.models'求助

解决ModuleNotFoundError: No module named 'yolov7.models'问题

核心原因

Python找不到yolov7.models模块,是因为yolov7所在的目录不在Python默认的模块搜索路径里,和你怀疑的路径配置问题一致。

具体解决方案

方案1:代码中临时添加路径(最快生效)

在导入yolov7相关模块的代码前,先把yolov7文件夹的路径加入Python搜索路径:

import sys
from pathlib import Path

# 获取当前Notebook所在的目录
current_dir = Path.cwd()
# 把yolov7文件夹的路径加入sys.path(根据你的实际目录结构调整)
yolov7_dir = current_dir / "yolov7"
sys.path.append(str(yolov7_dir))

# 现在再执行导入
from yolov7.models.experimental import attempt_load

可以先用!pwd在Notebook里执行,查看当前工作目录,确认yolov7的相对路径是否正确。

方案2:Docker容器内设置环境变量(永久生效)

如果不想每次写代码都加路径,可以在Docker容器里配置PYTHONPATH环境变量:

  1. 进入Docker容器终端:
docker exec -it <你的容器ID/名称> bash
  1. 打开bash配置文件(比如~/.bashrc),添加一行:
export PYTHONPATH="/实际路径/yolov7:$PYTHONPATH"

替换/实际路径/yolov7为你容器里yolov7文件夹的绝对路径,比如你的botsort目录在/workspace/botsort,那路径就是/workspace/botsort/yolov7。
3. 让配置生效:

source ~/.bashrc

之后重启Jupyter Notebook,Python就能自动找到yolov7模块了。

方案3:检查yolov7目录完整性

确认yolov7/models目录下有__init__.py文件(空文件也行),如果没有,手动创建一个——Python需要这个文件来识别该目录为可导入的模块。另外如果是克隆的yolov7仓库,确保克隆时没有遗漏文件(可以重新克隆一次完整仓库)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 14:35:17