我正在尝试在官方的Python3.8高山对接映像中安装PyMuPDF。文件如下所示:
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据我所知,阿尔卑斯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无法识别这个环境的特性。我怎么才能越过这个障碍?
如果您有在这个码头映像中安装PyMuPDF的工作示例,请告诉我。提前谢谢。
发布于 2022-08-17 18:22:59
下面是Python 3.10阿尔卑斯的一个例子。不是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 installhttps://stackoverflow.com/questions/72818000
复制相似问题