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

在Colab安装Python3.11.1时遇AttributeError: collections无MutableMapping的解决

在Google Colab安装Python 3.11.1后pip报错的解决方法

问题描述

在Google Colab中安装Python 3.11.1后,执行pip安装库时触发如下错误:

Traceback (most recent call last):
  File "/usr/local/bin/pip3", line 5, in <module>
    from pip._internal.cli.main import main
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 22, in <module>
    from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
  File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 73, in <module>
    vendored("pkg_resources")
  File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 33, in vendored
    __import__(modulename, globals(), locals(), level=0)
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 77, in <module>
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/_vendor/packaging/requirements.py", line 9, in <module>
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 674, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/extern/__init__.py", line 43, in load_module
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/_vendor/pyparsing.py", line 943, in <module>
AttributeError: module 'collections' has no attribute 'MutableMapping'

已完成的配置步骤:

!sudo apt-get update -y
!sudo apt-get install python3.11
!sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
!sudo update-alternatives --config python3

选择对应版本后,!python --version显示为Python 3.11.1,随后通过!sudo apt install python3-pip安装pip。

已尝试的修复方案:

  • 更新collections导入逻辑:
    import collections
    import sys
    if sys.version_info.major == 3 and sys.version_info.minor >= 10:
        from collections.abc import MutableMapping
    else:
        from collections import MutableMapping
    
  • 重装系统包:
    !sudo apt install python-pip
    !sudo apt-get update
    !sudo apt-get upgrade
    !sudo apt-get update
    
  • 更新指定工具包:
    !pip install --upgrade pip wheel setuptools requests
    

最终目标是安装以下库:

!pip install haversine
!pip install codecarbon[viz]

解决方案

核心原因

Python 3.10+版本中,MutableMapping已从collections模块迁移至collections.abc,但通过apt安装的系统级pip及依赖包(如pkg_resources、旧版pyparsing)未适配该变更,导致版本冲突报错。

具体修复步骤

  1. 清理系统旧版pip
    移除与Python 3.11不兼容的系统pip:
    !sudo apt remove python3-pip python-pip -y
    !sudo rm -rf /usr/lib/python3/dist-packages/pip* /usr/local/bin/pip*
    
  2. 为Python 3.11安装专属pip
    使用Python 3.11内置的ensurepip模块安装适配版本的pip:
    !python3.11 -m ensurepip --upgrade
    
  3. 验证pip关联版本
    检查pip是否绑定到Python 3.11:
    !pip3 --version
    
    若输出未关联Python 3.11,创建软链接强制绑定:
    !sudo ln -sf /usr/local/bin/pip3 /usr/bin/pip
    
  4. 安装目标库
    此时可正常执行安装命令:
    !pip install haversine
    !pip install codecarbon[viz]
    

额外注意事项

  • 后续安装库时,优先使用python3.11 -m pip的形式调用,避免版本混用导致冲突。
  • 若仍出现类似导入错误,可升级核心依赖包:
    !pip install --upgrade setuptools pkg_resources
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 20:25:21