Ewa*_*ine 19 python opencv docker
我正在尝试Dockerise一个依赖于OpenCV的Python应用程序.我尝试了几种不同的方法,但是ImportError: No module named cv2
当我尝试运行应用程序时,我一直在......
这是我目前的Dockerfile.
FROM python:2.7
MAINTAINER Ewan Valentine <ewan@theladbible.com>
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Various Python and C/build deps
RUN apt-get update && apt-get install -y \
wget \
build-essential \
cmake \
git \
pkg-config \
python-dev \
python-opencv \
libopencv-dev \
libav-tools \
libjpeg-dev \
libpng-dev \
libtiff-dev \
libjasper-dev \
libgtk2.0-dev \
python-numpy \
python-pycurl \
libatlas-base-dev \
gfortran \
webp \
python-opencv
# Install Open CV - Warning, this takes absolutely forever
RUN cd ~ && git clone https://github.com/Itseez/opencv.git && \
cd opencv && \
git checkout 3.0.0 && \
cd ~ && git clone https://github.com/Itseez/opencv_contrib.git && \
cd opencv_contrib && \
git checkout 3.0.0 && \
cd ~/opencv && mkdir -p build && cd build && \
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D BUILD_EXAMPLES=OFF .. && \
make -j4 && \
make install && \
ldconfig
COPY requirements.txt /usr/src/app/
RUN pip install --no-cache-dir -r requirements.txt
COPY . /usr/src/app
Run Code Online (Sandbox Code Playgroud)
和我的requirements.txt文件
Flask==0.8
gunicorn==0.14.2
requests==0.11.1
bs4==0.0.1
nltk==3.2.1
pymysql==0.7.2
xlsxwriter==0.8.5
numpy==1.11
Pillow==3.2.0
cv2==1.0
pytesseract==0.1
Run Code Online (Sandbox Code Playgroud)
Ewa*_*ine 15
修复了略有不同的设置
FROM python:2.7
MAINTAINER Ewan Valentine <ewan@theladbible.com>
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Various Python and C/build deps
RUN apt-get update && apt-get install -y \
wget \
build-essential \
cmake \
git \
unzip \
pkg-config \
python-dev \
python-opencv \
libopencv-dev \
libav-tools \
libjpeg-dev \
libpng-dev \
libtiff-dev \
libjasper-dev \
libgtk2.0-dev \
python-numpy \
python-pycurl \
libatlas-base-dev \
gfortran \
webp \
python-opencv \
qt5-default \
libvtk6-dev \
zlib1g-dev
# Install Open CV - Warning, this takes absolutely forever
RUN mkdir -p ~/opencv cd ~/opencv && \
wget https://github.com/Itseez/opencv/archive/3.0.0.zip && \
unzip 3.0.0.zip && \
rm 3.0.0.zip && \
mv opencv-3.0.0 OpenCV && \
cd OpenCV && \
mkdir build && \
cd build && \
cmake \
-DWITH_QT=ON \
-DWITH_OPENGL=ON \
-DFORCE_VTK=ON \
-DWITH_TBB=ON \
-DWITH_GDAL=ON \
-DWITH_XINE=ON \
-DBUILD_EXAMPLES=ON .. && \
make -j4 && \
make install && \
ldconfig
COPY requirements.txt /usr/src/app/
RUN pip install --no-cache-dir -r requirements.txt
COPY . /usr/src/app
Run Code Online (Sandbox Code Playgroud)
感谢发布此内容.我遇到了同样的问题并尝试了你的解决方案,虽然它似乎安装了OpenCV但它给我留下了一个冲突版本的Python六库的问题所以我采取了不同的路线.我认为更简单的方法是在容器中安装Anaconda,然后添加OpenCV.我正在使用Python 2,所以我的整个Dockerfile安装OpenCvv只是:
FROM continuumio/anaconda
EXPOSE 5000
ADD . /code-directory
WORKDIR code-directory
RUN conda install opencv
CMD ["python", "run-code.py"]
Run Code Online (Sandbox Code Playgroud)
这将从continuumio /蟒蛇Dockerfile安装蟒蛇,然后它会使用Anaconda安装OpenCV.如果您需要,还有一个用于Python 3的独立的连续文件Dockerfile.
归档时间: |
|
查看次数: |
22490 次 |
最近记录: |