ImportError: библиотека C 'enchant' не найдена и, возможно, ее необходимо установить

Я пытаюсь создать контейнер без дистрибутива, используя gcr.io./distroless/python3-debian10, используя базовый образ как debian:buster-slim

Я установил enchant в виртуальную среду базового образа python, затем скопировал виртуальную среду в образ без дистрибутива, но файлы библиотеки enchant не копируются в контейнер без дистрибутива.

Во время отладки я обнаружил, что чары правильно установлены в контейнере базового образа и работают нормально, но не отражаются в контейнере без дистрибутива.

Вот сообщение об ошибке:

      Traceback (most recent call last):
  File "app.py", line 17, in <module>
    import utils as utils
  File "/app/utils.py", line 13, in <module>
    import enchant
  File "/venv/lib/python3.7/site-packages/enchant/__init__.py", line 81, in <module>
    from enchant import _enchant as _e
  File "/venv/lib/python3.7/site-packages/enchant/_enchant.py", line 157, in <module>
    raise ImportError(msg)
ImportError: The 'enchant' C library was not found and maybe needs to be installed.
See  https://pyenchant.github.io/pyenchant/install.html
for details

Я перешел на этот предложенный URL (https://pyenchant.github.io/pyenchant/install.html) из сообщения об ошибке, поскольку они указали для установки pyenchant, который уже был установлен. А еще я установил libenchant, enchant.

А вот код для справки:

      FROM debian:buster-slim AS build
RUN apt-get update && \
    apt-get install --no-install-suggests --no-install-recommends --yes python3-venv gcc libpython3-dev && \
    python3 -m venv /venv && \
    /venv/bin/pip install --upgrade pip

RUN apt-get update -y

WORKDIR /venv/
RUN apt-get install libre2-dev git wget vim python3-enchant libenchant-dev -y
RUN apt-get install libre2-5
RUN apt-get install enchant -y

FROM build AS build-venv
COPY requirements.txt /requirements.txt
RUN /venv/bin/pip install --disable-pip-version-check -r /requirements.txt

FROM gcr.io/distroless/python3-debian10
COPY --from=build-venv /venv /venv
COPY . /app
WORKDIR /app
EXPOSE 6000
ENTRYPOINT ["/venv/bin/python3", "app.py"]

Примечание: я включил pyenchant (версия: 3.2.1) в файл requirements.txt.

0 ответов

Другие вопросы по тегам