|
@@ -0,0 +1,49 @@
|
|
|
|
+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
|
|
|
|
+
|
|
|
|
+FROM scratch
|
|
|
|
+
|
|
|
|
+COPY --from=build /wheels /wheels
|