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

Docker环境下Ubuntu18.04打包Python项目DEB时zlib依赖缺失问题

解决Ubuntu 18.04 Docker打包Python项目DEB时zlib依赖缺失问题

核心原因与修复方案

  • DEB依赖声明不完整:编译阶段安装的开发包仅用于构建过程,DEB包的control文件中未声明安装测试或运行所需的zlib相关依赖。需在control文件的Depends字段添加zlib1g-dev, libbz2-dev, liblzma-dev(若安装测试依赖开发包),或至少添加运行时依赖zlib1g。
  • 测试环境未预安装依赖:若安装测试在纯净Ubuntu 18.04容器中执行,需确保测试命令先安装依赖再进行DEB安装,修改docker run命令如下:
    docker run -v $(pwd)/dist:/dist ubuntu:18.04 bash -c "apt-get update && apt-get install -y zlib1g-dev libbz2-dev liblzma-dev && dpkg -i /dist/your-project.deb || apt-get -f install"
    
  • HTSlib编译时未正确检测zlib:pysam依赖的HTSlib可能在编译阶段未识别到系统中的zlib库。可在compile.dockerfile中安装依赖后,显式设置环境变量引导HTSlib查找:
    RUN apt-get update && apt-get install -y zlib1g-dev libbz2-dev liblzma-dev
    # 设置编译环境变量,指定zlib的头文件和库路径
    RUN export CFLAGS="-I/usr/include" && export LDFLAGS="-L/usr/lib/x86_64-linux-gnu"
    # 执行Python项目构建/打包命令,例如:
    RUN pip wheel pysam==0.19.1 --no-deps -w ./wheels
    
  • DEB打包遗漏库文件:若pysam编译时静态链接了zlib,但打包脚本未将相关库文件纳入DEB包,需检查打包配置(如debian/rules),确保必要的库文件被放置到DEB的/usr/lib或对应架构目录下。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:25:25