репозиторий Ubuntu apt-get выдает ошибку gpg: не найдены действительные данные OpenPGP - PullRequest
1 голос
/ 04 февраля 2020

Я пытаюсь установить библиотеку tesseract на docker образе, но я получаю ошибки.

Я знаю, что многие люди задавали один и тот же вопрос, и я пробовал много решений, но это все еще ошибки , Вот docker файл

FROM python:3.7.6
RUN file="$(apt-get update && \
            apt-get install -y apt-utils && \
            apt-get install -y curl && \
            apt-get update && \
            apt-get install -y software-properties-common && \
            apt-get update && \
            apt-key adv --keyserver keyserver.ubuntu.com --recv-keys  A4BCBD87CEF9E52D && \ # this line added after search
            add-apt-repository ppa:alex-p/tesseract-ocr -y )" && echo $file

RUN file = "$(apt-get update  --allow-unauthenticated && \
            apt install tesseract-ocr=4.1.1-1ppa1~xenial1 -y )" && echo "------ New line" && echo $file

вывод:

Warning: apt-key output should not be parsed (stdout is not a terminal)
gpg: key A4BCBD87CEF9E52D: public key "Launchpad PPA for Alex_P" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: keybox '/tmp/tmpqo2rec69/pubring.gpg' created
gpg: /tmp/tmpqo2rec69/trustdb.gpg: trustdb created
gpg: key A4BCBD87CEF9E52D: public key "Launchpad PPA for Alex_P" imported
gpg: Total number processed: 1
gpg:               imported: 1
Warning: apt-key output should not be parsed (stdout is not a terminal)
gpg: no valid OpenPGP data found.

, затем он печатает некоторые библиотеки, установленные затем эта ошибка тоже

step : RUN file = "$(apt-get update  --allow-unauthenticated &&        
     apt install tesseract-ocr=4.1.1-1ppa1~xenial1 -y )" && 
echo "------ New line" && echo $file
 ---> Running in 8d364f24dfd9
E: The repository 'http://ppa.launchpad.net/alex-p/tesseract-ocr/ubuntu focal Release' does not have a Release file.
=:  

Ответы [ 2 ]

1 голос
/ 05 февраля 2020

Я провел много поисков и решил проблему, используя базовый образ Ubuntu, а затем установил python 3.7. Как указано в ответе @Amitp, базовый образ python основан на Debian, а не Ubuntu, а ppa использует Ubuntu

Файл docker для решения

FROM ubuntu:16.04
USER root
RUN file="$(apt-get update && \
            apt-get install -y apt-utils && \
            apt-get install -y curl && \
            apt-get update && \
            apt-get install -y software-properties-common && \
            apt-get update && \
            add-apt-repository ppa:deadsnakes/ppa -y && \
            apt update && \
            apt install -y python3.7 && \
            curl https://bootstrap.pypa.io/get-pip.py | python3.7 &&\
            apt-get update)" && echo $file

1 голос
/ 04 февраля 2020

Из того, что я мог узнать, образ docker для Python 3.7.6, который вы используете, основан на Debian 10, а не на Ubuntu 16.04 (xenial). Репозиторий, который вы пытаетесь добавить (ppa: alex-p / tesseract-ocr), предназначен для Ubuntu (https://launchpad.net/~alex-p/+archive/ubuntu/tesseract-ocr). Поэтому попытка установить tesseract с версией Ubuntu 16.04 (xenial) (4.1.1-1ppa1 ~ xenial1) обязательно приведет к сбою, так как это образ на основе Debian.

Для установки необходим пакет Debian (https://tracker.debian.org/pkg/tesseract). Я попытался использовать приведенный ниже Dockerfile и использовал версию tesseract 4.0.0-2, и она сработала.

FROM python:3.7.6
RUN file="$(apt-get update && \
            apt-get install -y apt-utils && \
            apt-get install -y curl && \
            apt-get update && \
            apt-get install -y software-properties-common && \
            apt-get update && \
            apt install tesseract-ocr=4.0.0-2 -y )" && echo $file

После проверки созданного образа я смог подтвердить, что tesseract действительно установлен

# docker run -it 37755343ba30 bash
root@fdb06d9bdc4e:/# dpkg -l | grep tesseract
ii  libtesseract4:amd64                4.0.0-2                     amd64        Tesseract OCR library
ii  tesseract-ocr                      4.0.0-2                     amd64        Tesseract command line OCR tool
ii  tesseract-ocr-eng                  1:4.00~git30-7274cfa-1      all          tesseract-ocr language files for English
ii  tesseract-ocr-osd                  1:4.00~git30-7274cfa-1      all          tesseract-ocr language files for script and orientation
root@fdb06d9bdc4e:/# exit

Надеюсь, это ответит на ваш вопрос.

...