Docker-Compose构建失败:Pycairo依赖安装问题求助
解决Docker-Compose构建中的pycairo与pylinac依赖问题
1. 修复pycairo构建失败:补全系统依赖
pycairo编译需要系统层面的pkg-config工具和cairo开发库,直接在Dockerfile中添加系统包安装步骤即可解决:
针对Debian/Ubuntu系基础镜像
在创建conda环境前,执行以下命令安装依赖:
RUN apt-get update && apt-get install -y --no-install-recommends \ pkg-config \ libcairo2-dev \ && rm -rf /var/lib/apt/lists/*
针对CentOS/RHEL系基础镜像
替换为yum安装命令:
RUN yum install -y pkg-config cairo-devel && yum clean all
2. 修复pylinac版本问题:替换为可用版本
pylinac 3.1.0因包内版本错误被PyPI撤回,直接在environment.yml中替换为官方修复后的版本或兼容的稳定版本:
修改environment.yml中的pylinac条目
dependencies: # 替换原有的pylinac=3.1.0为以下任一可用版本 - pylinac=3.1.1 # 修复版本错误的正式版本 # 若需兼容旧代码,可降级到稳定版: # - pylinac=3.0.10
修改后的完整配置示例
Dockerfile(Debian/Ubuntu基础镜像)
FROM continuumio/miniconda3:latest # 安装pycairo所需系统依赖 RUN apt-get update && apt-get install -y --no-install-recommends \ pkg-config \ libcairo2-dev \ && rm -rf /var/lib/apt/lists/* # 复制环境配置文件 COPY environment.yml . # 创建conda环境 RUN conda env create -f environment.yml # 激活环境(替换为你的环境名称) SHELL ["conda", "run", "-n", "your-env-name", "/bin/bash", "-c"] # 后续构建步骤...
environment.yml
name: your-env-name channels: - conda-forge - defaults dependencies: - python=3.8 - pycairo - pylinac=3.1.1 # 其他项目依赖...
完成以上修改后,重新执行docker-compose build即可完成构建。
内容的提问来源于stack exchange,提问作者Frédéric Girard
相关产品推荐
相关产品推荐

