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

Docker容器内通过requirements.txt安装pandas失败但直接安装正常

问题根因

报错的核心原因有三点:

  • 你requirements.txt中固定的pandas==0.25.0版本过旧,该版本发布时Python3.9尚未正式推出,没有适配Python3.9的预编译wheel安装包,pip安装时需要从源码编译构建
  • 你使用的jupyter/scipy-notebook镜像默认没有预装gcc等C语言编译工具链,源码编译时找不到gcc命令,导致构建失败
  • 直接执行pip install pandas不指定版本时,pip会自动匹配适配当前Python3.9环境的最新版pandas,对应版本有官方预编译好的wheel包,无需编译即可直接安装,因此可以成功。
解决方案

你可以根据自己的需求选择以下任意一种方案:

方案1:调整pandas版本(推荐,操作最简单)

修改requirements.txt中的pandas版本约束,将pandas==0.25.0替换为pandas>=1.3.0(1.3.0及以上版本正式支持Python3.9,有对应预编译包),再次执行pip install -r requirements.txt即可正常安装。

方案2:安装编译工具链(适用于必须使用pandas0.25.0的场景)

先给容器安装编译依赖,操作步骤如下:

  1. 查找运行中的容器ID,执行命令:docker ps
  2. 以root身份进入容器安装编译工具:
docker exec -u root -it <替换为你的容器ID> apt update && apt install -y build-essential
  1. 回到jupyter notebook或者容器内的jovyan用户环境,重新执行pip install -r requirements.txt即可完成编译安装。

方案3:自定义镜像(适用于长期使用的场景)

基于官方镜像构建自带依赖的自定义镜像,避免每次启动容器都重复操作,Dockerfile示例如下:

FROM jupyter/scipy-notebook
# 切换为root用户安装系统依赖
USER root
RUN apt update && apt install -y --no-install-recommends build-essential \
    && rm -rf /var/lib/apt/lists/*
# 切回默认jovyan用户安装Python依赖
USER jovyan
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

构建镜像后使用新镜像启动容器即可直接使用所有依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:48:05