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

Google Colab Python3.7安装指定旧版本包报Failed building wheel错误

问题根因

安装失败的核心原因是版本适配冲突:你需要安装的scipy==0.19.1、scikit-image==0.13.0、scikit-learn==0.19.1均为2017年发布的旧版本,官方没有提供适配Python 3.7的预编译wheel安装包,pip只能拉取源码包在本地编译。而Colab默认环境的GCC版本、Fortran编译依赖、新版setuptools/pip的构建规则都和这些旧版本源码的编译要求不匹配,最终触发wheel构建失败、安装自动回滚。
日志中反复出现的WARNING: Ignoring invalid distribution -andas是之前安装pandas旧版本时残留的损坏包目录,不影响核心安装流程,可以在安装前顺手清理。

实操解决步骤

所有命令直接在Colab代码块中按顺序执行即可:

  • 第一步:清理损坏的包残留,安装源码编译必需的系统依赖
# 清理残留损坏的包目录
!rm -rf /usr/local/lib/python3.7/dist-packages/~* /usr/local/lib/python3.7/dist-packages/-*
# 安装scipy等科学计算包编译需要的底层依赖
!apt-get update && apt-get install -y gfortran libopenblas-dev liblapack-dev
  • 第二步:将pip、setuptools、wheel降级到兼容旧包的版本,不要使用最新版——新版构建工具已经移除了对老式setup.py构建逻辑的兼容,是触发编译错误的常见诱因
!pip install pip==20.3.4 setuptools==44.1.1 wheel==0.35.1
  • 第三步:严格按照依赖层级顺序安装包,禁止乱序,避免依赖校验失败。安装三个编译类包时加--no-build-isolation参数,强制构建过程调用当前环境已安装的指定版本numpy,避免构建环节自动拉取不兼容的新版numpy导致编译失败
    1. 先装最底层依赖numpy:!pip install numpy==1.16.1
    2. 安装scipy:!pip install scipy==0.19.1 --no-build-isolation
    3. 安装scikit-learn:!pip install scikit-learn==0.19.1 --no-build-isolation
    4. 安装scikit-image:!pip install scikit-image==0.13.0 --no-build-isolation
    5. 安装剩余无编译冲突的依赖:
!pip install pillow==4.2.1
!pip install pandas==0.20.3
!pip install matplotlib==2.2.2
!pip install tensorflow==1.2.1
!pip install concurrent-iterator==0.2.6
  • 第四步:所有包装完后执行强制重启运行时的代码,清空Colab的包缓存,避免加载预装的默认版本包
import os
os.kill(os.getpid(), 9)

重启后重新导入包,调用.__version__属性校验版本是否符合要求即可。

备选兜底方案

如果上述源码编译流程仍然报错,直接将Colab运行时切换到Python 3.6版本:上述所有你需要的旧版本包官方都提供了Python 3.6环境的预编译wheel,不需要本地编译,直接执行pip install指定版本的命令即可安装成功,不会出现构建错误。切换路径为Colab顶部菜单栏:修改 → 笔记本设置 → 运行时类型,选择Python 3.6后保存,等待运行时重连完成即可重新执行安装流程。

内容的提问来源于stack exchange,提问作者Anxo Rodríguez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 13:12:18