Similization
@Similization
В прострации

Error: Please make sure the libxml2 and libxslt development packages are installed. Как починить?

Работаю на Mac OS, пытаюсь собрать свою программу на питоне в контейнер, но в один момент она падает с ошибкой.
Я понимаю, что не хватает двух библиотек, но не понимаю, как их докачать: в ответах пишут через homebrew, но скачать его в контейнер у меня не получилось, а добавлять второй образ тоже не особо умею.
FROM python:3.11.0-slim-buster

WORKDIR /app

RUN pip3 install --upgrade pip

COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt

COPY . .

CMD [ "python3", "main.py" ]

Ошибка:
Collecting lxml
  Downloading lxml-4.9.1.tar.gz (3.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 11.4 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [3 lines of output]
      Building lxml version 4.9.1.
      Building without Cython.
      Error: Please make sure the libxml2 and libxslt development packages are installed.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Error response from daemon: The command '/bin/sh -c pip install lxml' returned a non-zero code: 1
  • Вопрос задан
  • 1122 просмотра
Решения вопроса 1
karabanov
@karabanov Куратор тега Docker
Системный администратор
Тебе надо добавит в образ эти библиотеки:

FROM python:3.11.0-slim-buster

ENV DEBIAN_FRONTEND=noninteractive

WORKDIR /app

COPY requirements.txt requirements.txt

RUN apt update && \
    apt install --yes libxml2-dev libxslt-dev && \
    apt clean && \
    apt autoclean && \
    apt autoremove --yes && \
    rm -rf /var/lib/{apt,dpkg,cache,log}/

RUN pip3 install --upgrade pip && \
    pip3 install -r requirements.txt

COPY . .

ENTRYPOINT [ "python3", "main.py" ]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы