python - 如何在 docker 中安装 lxml

标签 python docker lxml dockerfile

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

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 pip install -r requirements.txt 之前添加了 RUN apk add --update --no-cache g++ gcc libxslt-dev 并且它起作用了。

关于python - 如何在 docker 中安装 lxml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35931579/

相关文章:

linux - Dockerfile 通过采购脚本动态设置运行时 ENV

postgresql - 从 Python 容器连接到 postgres 时出错

docker - 如何在 Docker 中将主机文件夹与容器文件夹合并?

python - 在 Python LXML 的 KML 文档中添加命名空间

python - 使用 lxml lib 读取 xml 从 xmlns 标记中获取奇怪的字符串

python - 幂法不适用于对称矩阵

python - CSV 写入以注释行开头的文件

python - 从 Beam Python 示例中了解 "|"和 ">>"

python - 屏蔽 3D numpy 数组,其中数组等于值列表

python - 无法使用我的 scraper 中定义的 xpath 获取项目