簡體   English   中英

在 python 3.8 alpine 中安裝 PyMuPDF

[英]installing PyMuPDF in python 3.8 alpine

我正在嘗試在官方 Python 3.8 alpine docker 圖像中安裝 PyMuPDF。 dockerfile是這樣的:

FROM python:3.8-alpine

RUN apk add --update --no-cache \
    gcc g++ \
    libc-dev \
    python3-dev \
    build-base \
    cairo-dev \
    cairo \
    cairo-tools \
    jpeg-dev \
    zlib-dev \
    freetype-dev \
    lcms2-dev \
    openjpeg-dev \
    tiff-dev \
    tk-dev \
    tcl-dev \
    mupdf-dev \
    musl-dev \
    jbig2dec \
    openjpeg-dev \
    harfbuzz-dev \
    vim bash

COPY requirements.txt requirements.txt
RUN pip install --no-cache-dir --upgrade pip && \
    pip install --cache-dir .pip-cache -r requirements.txt && \
    rm -rf .pip-cache

我嘗試安裝的 PyMuPDF 版本是1.20.1

嘗試構建此映像失敗並出現以下錯誤:

#10 137.0 × Encountered error while trying to install package.
#10 137.0 ╰─> PyMuPDF

據我了解,Alpine linux 的 PyMuPDF 輪不可用。 這就是為什么我們必須從源頭上制作它。 在終端中向上滾動一點,我看到了這個:

#10 124.9       scripts/tesseract/endianness.h:20:2: error: #error "I don't know what architecture this is!"
#10 124.9          20 | #error "I don't know what architecture this is!"
#10 124.9             |  ^~~~~
#10 124.9       make: *** [Makefile:133: build/release/source/fitz/tessocr.o] Error 1

所以看起來構建 PyMuPDF 失敗了,因為 tesseract 無法識別這個環境的字節序。 我怎樣才能越過這個障礙?

如果您有在此 docker 圖像中安裝 PyMuPDF 的工作示例,請告訴我。 提前致謝。

這是 Python 3.10 Alpine 的示例。 不是 3.8,但我希望這會有所幫助。

FROM python:3.10-alpine3.16

ARG PYMUPDF_VERSION=1.20.1

RUN apk update \
    && apk add --update --no-cache \
        build-base \
        gcc \
        jbig2dec \
        jpeg-dev \
        harfbuzz-dev \
        libc-dev \
        mupdf-dev \
        musl-dev \
        openjpeg-dev \
        swig \
    && ln -s /usr/lib/libjbig2dec.so.0 /usr/lib/libjbig2dec.so

WORKDIR /tmp

RUN wget https://github.com/pymupdf/PyMuPDF/archive/refs/tags/${PYMUPDF_VERSION}.tar.gz \
    && tar -xzf ${PYMUPDF_VERSION}.tar.gz \
    && rm ${PYMUPDF_VERSION}.tar.gz \
    && cd PyMuPDF-${PYMUPDF_VERSION} \
    && python setup.py build && python setup.py install

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM