【发布时间】:2020-01-20 09:59:56
【问题描述】:
我的 python 项目在本地运行 tesseract,它可以在 Pycharm 中运行。 我使用了 docker-compose.yml,有两个容器(app 和 t4re)如下:
version: '3'
services:
app:
build: .
image: ocr_app:latest
depends_on:
- tesseract
tesseract:
image: tesseractshadow/tesseract4re
container_name: t4re
我的Dockerfile如下:
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
我不断收到这些错误:
FileNotFoundError: [Errno 2] No such file or directory: 'tesseract'
pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your path
我是 docker 新手,阅读了大量文档,但我仍然无法修复此错误。我已阅读以下答案。我想我必须使用环境变量将 tesseract 链接到 python 应用程序,但我不知道如何。
Use Tesseract 4 - Docker Container from uwsgi-nginx-flask-docker
TesseractNotFoundError: tesseract is not installed or it's not in your path
【问题讨论】:
-
要使用 tesseract,你应该安装 pytesseract(我猜你已经通过 requirements.txt 做到了)并且你必须通过你的 dockerfile 安装 tesseract-ocr
-
是的,我通过 requirements.txt 安装了 pytesseract。我以为我可以使用 tesseractshadow/tesseract4re 图像而不是在 ubuntu 中安装它。
-
好吧,我不确定这是否可行,但我描述的方法对我有用。
-
您是否找到了将 tesseract 包含在您的 dockerfile 中的解决方案?我面临着一个类似的问题,即将需要 tesseract 的本地文件容器化到 docker 中。 @s.tafazzoli
-
@liamsuma:是的,这里的两个答案都有效,我将其中一个用于我的项目。
标签: python docker docker-compose tesseract