[英]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.