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

Python 3.11.1导入requests模块触发ImportError问题求助

问题描述

尝试运行以下Python代码:

from pycocotools.coco import COCO        
import requests 

使用Python 3.11.1版本,运行时触发ImportError,报错信息如下:

C:\path>python utils.py --img_out obj/ --label_out obj/
Traceback (most recent call last):
  File "C:\path\utils.py", line 6, in <module>
    import requests
  File "C:\Users\windows\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\__init__.py", line 43, in <module>
    import urllib3
  File "C:\Users\windows\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\__init__.py", line 8, in <module>
    from .connectionpool import (
  File "C:\Users\windows\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\connectionpool.py", line 29, in <module>
    from .connection import (
  File "C:\Users\windows\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\connection.py", line 39, in <module>
    from .util.ssl_ import (
  File "C:\Users\windows\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\util\__init__.py", line 3, in <module>
    from .connection import is_connection_dropped
  File "C:\Users\windows\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\util\connection.py", line 3, in <module>
    from .wait import wait_for_read
  File "C:\Users\windows\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\util\wait.py", line 1, in <module>
    from .selectors import (
  File "C:\Users\windows\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\util\selectors.py", line 14, in <module>
    from collections import namedtuple, Mapping

ImportError: cannot import name 'Mapping' from 'collections' (C:\Users\windows\AppData\Local\Programs\Python\Python311\Lib\collections\__init__.py)

已通过pip安装requests模块,但问题依然存在。

解决方案

问题原因

Python 3.10及以上版本中,Mapping这类抽象基类已从collections模块迁移至collections.abc模块。当前安装的urllib3版本不兼容Python 3.11,而requests依赖urllib3,因此触发了导入错误。

解决步骤

  • 升级urllib3到兼容版本
    在命令行执行:
    pip install --upgrade urllib3
    
  • 或直接升级requests
    升级requests会自动同步安装兼容Python 3.11的urllib3版本:
    pip install --upgrade requests
    
  • 若仍有问题,使用虚拟环境隔离依赖
    1. 创建虚拟环境:
      python -m venv myenv
      
    2. 激活虚拟环境(Windows系统):
      myenv\Scripts\activate
      
    3. 安装所需依赖:
      pip install requests pycocotools
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 08:15:35