TesseractNotFoundError:两个Docker容器python应用(docker-compose) [英] TesseractNotFoundError: two docker container python app (docker-compose)

查看:118
本文介绍了TesseractNotFoundError:两个Docker容器python应用(docker-compose)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有在本地运行的带有tesseract的python项目,它在Pycharm中工作。
我使用了docker-compose.yml,它具有两个容器(app和t4re),如下所示:

  version:' 3'
服务:
应用程序:
构建:。
图片:ocr_app:最新
取决于:
-tesseract
tesseract:
图片:tesseractshadow / tesseract4re
container_name:t4re

,而我的Dockerfile如下:

  FROM python:3.6.1 
#创建应用程序目录
WORKDIR / app

#捆绑应用程序源
COPY venv / src ./src
复制venv / data ./data

#安装应用程序依赖项
RUN pip install -r src / requirements.txt

CMD python src / ocr.py

而我不断收到这些错误:

  FileNotFoundError:[错误2]没有此类文件或目录:'tesseract'

pytesseract.pytesseract.TesseractNotFoundError:未安装tesseract或它不在您的路径中

我是Docker的新手,可以读取大量文档,但是我仍然无法解决此错误。我已阅读以下答案。我想我必须使用环境变量将tesseract链接到python应用程序,但是我不知道如何。



使用Tesseract 4-uwsgi-nginx-flask-docker中的Docker容器



TesseractNotFoundError:未安装tesseract或不在您的路径中

解决方案

您需要在以下位置安装tesseract您的Docker映像在使用之前。默认情况下,python:3.6.1 image中没有tesseract。您需要在其中安装ubuntu基本映像,然后安装tesseract和python,然后继续工作。
这是解决方案的docker文件:

 从ubuntu:18.04 
RUN apt-get- -fix-missing更新&& apt-get --fix-broken安装&& apt-get install -y poppler-utils&& apt-get install -y tesseract-ocr&& \
apt-get install -y libtesseract-dev&& apt-get install -y libleptonica-dev&& ldconfig&& apt-get install -y python3.6&& \
apt-get install -y python3-pip&& apt install -y libsm6 libxext6

请根据您的要求调整python版本。 / p>

I have my python project with tesseract running locally, and it works in Pycharm. I used docker-compose.yml, having two containers (app and t4re) as follows:

version: '3'
services:
  app:
    build: .
    image: ocr_app:latest
    depends_on:
      - tesseract
  tesseract:
    image: tesseractshadow/tesseract4re
    container_name: t4re

and my Dockerfile is as follows:

FROM python:3.6.1
# Create app directory
WORKDIR /app

# Bundle app source
COPY venv/src ./src
COPY venv/data ./data

# Install app dependencies
RUN pip install -r src/requirements.txt

CMD python src/ocr.py

and I keep getting these errors:

FileNotFoundError: [Errno 2] No such file or directory: 'tesseract'

pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your path

I am new to docker and read tons of documents, but I still cannot manage to fix this error. I've read the following answers. I guess I have to link tesseract to the python app with an environment variable, but I do not know how.

Use Tesseract 4 - Docker Container from uwsgi-nginx-flask-docker

TesseractNotFoundError: tesseract is not installed or it's not in your path

解决方案

You need to install tesseract in your docker image before using it. By default python:3.6.1 image does not have tesseract in it. You need to take ubuntu base image install tesseract and python in it then continue your work. Here is the docker file for the solution:

FROM ubuntu:18.04
RUN apt-get --fix-missing update && apt-get --fix-broken install && apt-get install -y poppler-utils && apt-get install -y tesseract-ocr && \
    apt-get install -y libtesseract-dev && apt-get install -y libleptonica-dev && ldconfig && apt-get install -y python3.6 && \
    apt-get install -y python3-pip && apt install -y libsm6 libxext6

Please adjust the python version as per your requirement.

这篇关于TesseractNotFoundError:两个Docker容器python应用(docker-compose)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆