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

Django后端部署YOLOv3视频识别遇FileNotFoundError问题求助

解决Docker环境下YOLOv3 detect.py报错FileNotFoundError: /tmp/Ultralytics不存在

核心原因

Docker容器的文件系统与Windows本地完全隔离,你在Windows本地手动创建的/tmp/Ultralytics不会同步到容器内部,因此报错路径不存在。

具体解决方法

方法1:在Dockerfile中预创建目标目录

打开项目的Dockerfile,在依赖安装完成后添加以下命令,确保容器启动时自动创建目录并赋予读写权限:

RUN mkdir -p /tmp/Ultralytics && chmod 777 /tmp/Ultralytics

重新构建镜像并运行容器:

docker build -t your-django-yolo-image .
docker run your-django-yolo-image

方法2:通过Docker挂载映射本地目录

将Windows本地目录挂载到容器的/tmp/Ultralytics,既解决目录不存在问题,又方便查看容器内生成的文件:

  1. 在Windows本地创建一个目录,比如C:\yolo-temp
  2. 运行容器时添加挂载参数:
docker run -v C:\yolo-temp:/tmp/Ultralytics your-django-yolo-image

方法3:修改detect.py的路径配置

找到detect.py中指定/tmp/Ultralytics的代码行,将其替换为容器内项目目录下的可写路径(假设你的Django项目根目录为/app):

# 原路径
# save_path = '/tmp/Ultralytics'
# 修改为
save_path = '/app/tmp/Ultralytics'

同时在Dockerfile中创建该目录:

RUN mkdir -p /app/tmp/Ultralytics && chmod 777 /app/tmp/Ultralytics

注意事项

  • 若使用非root用户运行容器,需确保该用户对目标目录有读写权限,可通过RUN chown your-user:your-group /tmp/Ultralytics调整权限(替换为容器内实际用户组)。
  • 重新构建镜像后,务必重启容器使配置生效。

内容的提问来源于stack exchange,提问作者Lyes.bcb

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 11:15:36