You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建Docker镜像时遇ModuleNotFoundError: No module named 'zlib'问题求助

解决Docker构建时zlib缺失的问题

你的问题根源是编译Python 3.9时缺少zlib系统开发依赖,导致Python没有内置zlib模块,pip运行时无法处理压缩数据,所以报错。pip install zlib无效是因为zlib不是PyPI上的Python包,它是系统级底层库。

解决方法很简单,修改Dockerfile,在安装系统依赖的步骤中添加zlib-devel:

修改后的Dockerfile:

# 4. docker build -t my-layer .
# 5. docker run --name my-container my-layer
# 6. docker cp my-container:/opt/python-3.9.6/aws-layer/my-layer.zip .
# Your Layer is ready.

FROM amazonlinux:latest
# 添加zlib-devel到系统依赖安装列表
RUN yum install gcc openssl-devel bzip2-devel libffi-devel gzip make zlib-devel -y
RUN yum install wget tar zip -y
WORKDIR /opt
RUN wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
RUN tar xzf Python-3.9.6.tgz
COPY requirements.txt /opt/Python-3.9.6/requirements.txt
WORKDIR /opt/Python-3.9.6
RUN ./configure --enable-optimizations
RUN make altinstall
RUN rm -f /opt/Python-3.9.6.tgz
RUN mkdir -p aws-layer/python/lib/python3.9/site-packages
RUN pip3.9 install -r requirements.txt -t aws-layer/python/lib/python3.9/site-packages
RUN cd aws-layer && zip -r9 my-layer.zip .

说明:

  • zlib-devel是Amazon Linux下zlib库的开发包,包含编译Python所需的头文件和静态库,添加后Python编译过程会自动内置zlib模块。
  • 不需要在Windows主机上执行任何命令,所有修改都在Dockerfile里完成,Docker构建时会在容器内部安装依赖,和主机系统无关。

内容的提问来源于stack exchange,提问作者arame3333

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 15:14:52