🍉

Docker + OpenCV Python の module *** has no attribute *** のエラー回避

に公開

概要

dockerにおける、OpenCV Python の module *** has no attribute *** のエラー回避方法を説明する。

環境

  • Ubuntu 20.04.5 LTS
  • Docker 20.10.18

原因とエラー回避方法

原因はpythonopencvに関係するモジュールのバージョンに不整合が起こっているためであるため、以下のDockerfileのようにopencvに関係するモジュールのバージョンを統一すればエラーを回避できる。

Dockerfile
FROM python:3.9

ARG OPENCV_PYTHON_VERSION=4.5.5.64

COPY requirements.txt ./
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
RUN pip install opencv-python==$OPENCV_PYTHON_VERSION opencv-python-headless==$OPENCV_PYTHON_VERSION opencv-contrib-python==$OPENCV_PYTHON_VERSION

Discussion