Ich möchte mein Python-Projekt in Docker bereitstellen, schrieb ich lxml>=3.5.0
in der requirments.txt als das Projekt benötigt lxml. Hier ist meine dockfile:Wie kann ich lxml im Docker installieren
FROM gliderlabs/alpine:3.3
RUN set -x \
&& buildDeps='\
python-dev \
py-pip \
build-base \
' \
&& apk --update add python py-lxml $buildDeps \
&& rm -rf /var/cache/apk/* \
&& mkdir -p /app
ENV INSTALL_PATH /app
WORKDIR $INSTALL_PATH
COPY requirements-docker.txt ./
RUN pip install -r requirements.txt
COPY . .
RUN apk del --purge $buildDeps
ENTRYPOINT ["celery", "-A", "tasks", "worker", "-l", "info", "-B"]
ich diese bekam, wenn ich es einsetzen, um Andockfenster:
*********************************************************************************
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
*********************************************************************************
error: command 'gcc' failed with exit status 1
----------------------------------------
Rolling back uninstall of lxml
Ich dachte, es war, weil 'Python-dev' und 'Python-lxml', dann bearbeitet ich die dockfile wie folgt aus:
WORKDIR $INSTALL_PATH
COPY requirements-docker.txt ./
RUN apt-get build-dev python-lxml
RUN pip install -r requirements.txt
Es funktionierte nicht, und ich habe einen anderen Fehler:
---> Running in 73201a0dcd59
/bin/sh: apt-get: not found
Wie kann ich lxml korrekt in Docker installieren? Dank
Sie verwenden alpine, so kann es "apk add" aber nicht "apt-get" sein – user2915097
@ user2915097 Vielen Dank! Ich habe es in 'apk add python-dev py-lxml' geändert, es hat den Fehler zurückgegeben:' error: command 'gcc' ist fehlgeschlagen mit dem Exit-Status 1'. Ich weiß nicht, wie man lxml installiert – thiiiiiking
der Paketname ist korrekt https://pkgs.alpinelinux.org/package/main/x86/py-lxml – user2915097