DockerのコンテナでOpenCV(python)開発環境を構築する
前回、DockerのコンテナでOpenCV(C++)を実行できるようにしました。
今回はそのpython版です。
作業環境
・Ubuntu18.04.1
・Docker-ce 18.06.1
作業内容
OpenCVビルド用パッケージのインストール
docker container run -it --rm ubuntu:16.04 apt update apt install -y --no-install-recommends make cmake gcc g++ unzip wget build-essential zlib1g-dev libffi-dev libssl-dev apt clean
python3のインストール
ここにpythonのソースが置かれている。
現在の最新の安定版は「3.7.0」。「3.7.1」はまだRC版のようだ。
PYTHON_VERSION="3.7.0" wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz tar zxf Python-${PYTHON_VERSION}.tgz cd Python-${PYTHON_VERSION} ./configure make altinstall
リンクを作成
python3.7.0は/usr/local/binにある。
ln -s /usr/local/bin/python3.7 /bin/python3 ln -s /usr/local/bin/pip3.7 /bin/pip3
python3 を起動してみる。
python3
numpy, pillow(PIL)のインストール
インストールされているか確認
pip3 install --upgrade pip pip3 list
インストール
pip3 install numpy pillow
*******************************************************************
python3の環境ができたので、一旦イメージにcommitしておく。
・ctl+p、ctl+qでコンテナを起動させたまま抜ける
・docker container ls でコンテナのIDを確認
・docker container commit [コンテナID] [作成するイメージ名]
・docker image ls でイメージできたか確認
コンテナにはdocker container attach [コンテナID]で入ることができる。
********************************************************************
OpenCVのインストール
関連パッケージのインストール
apt update apt install --no-install-recommends -y build-essential cmake nano \ ca-certificates unzip wget \ pkg-config \ libgtk2.0-dev \ libjpeg-dev libpng-dev \ ffmpeg libavcodec-dev libavformat-dev libavresample-dev libswscale-dev \ libv4l-dev \ libtbb-dev apt clean
OpenCVのインストール
OPENCV_VERSION="3.4.3" mkdir -p /tmp/opencv && cd /tmp/opencv wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip unzip ${OPENCV_VERSION}.zip -d . mkdir /tmp/opencv/opencv-${OPENCV_VERSION}/build && cd /tmp/opencv/opencv-${OPENCV_VERSION}/build/ cmake -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D WITH_FFMPEG=ON -D WITH_TBB=ON .. | tee /tmp/opencv_cmake.log make -j "$(nproc)" | tee /tmp/opencv_build.log make install | tee /tmp/opencv_install.log
pythonでOpenCVのバージョン確認
python3 #python起動 import cv2 cv2.__version__
無事に環境構築ができたようです。
コンテナは消す前にcommitしましょう。
以上。