FROM ubuntu:20.04 as build ENV DEBIAN_FRONTEND=noninteractive RUN apt-get -qq update \ && apt-get -qq install -y \ python3 \ python3-dev \ wget \ # opencv dependencies build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev libssl-dev\ libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \ libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev \ # scipy dependencies gcc gfortran libopenblas-dev liblapack-dev cython RUN wget -q https://bootstrap.pypa.io/get-pip.py -O get-pip.py \ && python3 get-pip.py # need to build cmake from source because binary distribution is broken for arm64 # https://github.com/scikit-build/cmake-python-distributions/issues/115 # https://github.com/skvark/opencv-python/issues/366 # https://github.com/scikit-build/cmake-python-distributions/issues/96#issuecomment-663062358 RUN pip3 install scikit-build RUN git clone https://github.com/scikit-build/cmake-python-distributions.git \ && cd cmake-python-distributions/ \ && python3 setup.py bdist_wheel RUN pip3 install cmake-python-distributions/dist/*.whl RUN pip3 wheel --wheel-dir=/wheels \ opencv-python-headless \ numpy \ imutils \ scipy \ psutil \ Flask \ paho-mqtt \ PyYAML \ matplotlib \ click \ tinydb FROM scratch COPY --from=build /wheels /wheels