运行BoT-SORT仓库代码遇ModuleNotFoundError: No module named 'yolov7'
解决BoT-SORT运行时
ModuleNotFoundError: No module named 'yolov7'的方案 可能的原因及对应解决步骤
1. 检查yolov7子模块是否完整拉取
BoT-SORT仓库中的yolov7是Git子模块,若克隆仓库时未加--recursive参数,yolov7文件夹可能为空或不完整。执行以下命令补全子模块:
cd /workspace/BoTSORT git submodule update --init --recursive
2. 确保Python能识别当前目录的模块
运行脚本时,Python默认可能未将BoTSORT根目录加入模块搜索路径,可通过两种方式修复:
- 方式一:运行前设置环境变量
cd /workspace/BoTSORT export PYTHONPATH=$PWD:$PYTHONPATH python3 tools/mc_demo_yolov7.py --weights pretrained/mot17_sbs_S50.pth --source /workspace/datasets/videos/seq1/seq1_florida_00-15-50_00-16-05.mp4 --fuse-score --agnostic-nms --with-reid - 方式二:在脚本开头添加路径配置
在mc_demo_yolov7.py最顶部插入:import sys sys.path.insert(0, '/workspace/BoTSORT')
3. 验证yolov7文件夹的完整性与权限
- 执行
ls -la /workspace/BoTSORT/yolov7,确认文件夹内包含models、utils等子目录及detect.py、train.py等核心文件,若缺失则重新拉取子模块。 - 确保容器内当前用户有读取权限,必要时执行:
chmod -R 755 /workspace/BoTSORT/yolov7
4. 安装yolov7所需依赖
进入yolov7目录安装依赖:
cd /workspace/BoTSORT/yolov7 pip install -r requirements.txt
内容的提问来源于stack exchange,提问作者MsA
相关产品推荐
相关产品推荐

