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

Docker环境下Poetry安装Datasets和Transformers失败求助

解决Docker环境下Poetry安装Datasets/Transformers时的pyarrow构建问题

问题根源

Docker基础镜像缺少pyarrow构建必需的系统工具,且pyarrow 16.1.0的PEP 517构建逻辑依赖setuptools_scm等未预装组件,同时容器环境下Poetry的依赖处理逻辑与本地存在差异。

解决方案

1. 修改Dockerfile,预装系统依赖与前置组件

在安装Python包前,先安装构建工具及缺失的Python组件:

# 选用官方Python slim镜像作为基础
FROM python:3.10-slim

# 安装系统级构建依赖
RUN apt-get update && apt-get install -y --no-install-recommends \
    cmake \
    gcc \
    g++ \
    git \
    && rm -rf /var/lib/apt/lists/*

# 安装指定版本Poetry(避免版本兼容问题)
RUN pip install poetry==1.6.1

# 关闭容器内的虚拟环境创建(容器无需独立虚拟环境)
RUN poetry config virtualenvs.create false

# 复制项目依赖配置文件
COPY pyproject.toml poetry.lock ./

# 提前安装setuptools_scm与兼容版pyarrow
RUN pip install setuptools_scm pyarrow==15.0.0

# 安装项目全部依赖
RUN poetry install --no-root

2. 锁定pyarrow版本到兼容范围

修改pyproject.toml,避免自动拉取存在构建问题的16.x版本:

[tool.poetry.dependencies]
python = "^3.10"
datasets = "^2.14.6"
transformers = "^4.35.2"
pyarrow = "~15.0.0"  # 锁定至15.x稳定版,规避16.x的PEP 517构建缺陷

3. 调整Poetry构建配置(可选)

若仍存在构建冲突,添加以下配置优化容器内的构建逻辑:

# 启用系统级Git客户端,加速依赖版本检测
RUN poetry config experimental.system-git-client true
# 增加构建线程数,提升安装效率
RUN poetry config installer.max-workers 10

排查补充

  • 若依然出现KeyError: 'setuptools_scm',确认在安装pyarrow前单独执行pip install setuptools_scm,确保构建脚本能找到该组件
  • 检查Docker镜像的APT源可用性,避免系统依赖安装失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 08:43:13