我如何在docker中安装lxml

我想在docker中部署我的python项目,因为项目需要lxml,所以我在requirments.txt中写了lxml>=3.5.0 。 这是我的dockfile:

 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"] 

当我将它部署到docker时,我得到了这个:

 ********************************************************************************* Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed? ********************************************************************************* error: command 'gcc' failed with exit status 1 ---------------------------------------- Rolling back uninstall of lxml 

我虽然是因为'python-dev'和'python-lxml',然后我编辑了这样的dockfile:

 WORKDIR $INSTALL_PATH COPY requirements-docker.txt ./ RUN apt-get build-dev python-lxml RUN pip install -r requirements.txt 

它没有工作,我得到了另一个错误:

 ---> Running in 73201a0dcd59 /bin/sh: apt-get: not found 

我如何正确地在docker中安装lxml? 谢谢

我添加了RUN apk add --update --no-cache g++ gcc libxslt-dev==1.1.29-r0之前RUN pip install -r requirements.txt和它的工作。

按照

https://hub.docker.com/r/ryanfox1985/docker-couchpotato/builds/boinrrs9dbhnutwjxjw2l8m/

下载apk并安装它

RUN wget http://nl.alpinelinux.org/alpine/edge/main/x86_64/py-lxml-3.4.0-r0.apk -O /var/cache/apk/py-lxml.apk RUN apk add --allow-untrusted /var/cache/apk/py-lxml.apk