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

运行Discord机器人时遭遇ImportError问题求助

解决Python 3.11中ImportError: cannot import name 'Mapping' from 'collections'问题

问题原因

Python 3.3起,Mapping这类抽象基类就被迁移到collections.abc模块,Python 3.10及以上版本中collections模块不再直接导出这些类。你当前使用的urllib3版本过旧,仍在使用过时的导入路径,导致报错。

解决步骤

  • 升级urllib3到兼容版本:打开命令提示符执行以下命令,确保安装支持Python 3.11的urllib3版本(至少1.26.10)
    pip install --upgrade urllib3
    
  • 同步升级requests:由于你的代码依赖requests,而requests又依赖urllib3,同步升级避免版本冲突
    pip install --upgrade requests
    
  • 验证版本:执行以下命令确认urllib3版本符合要求
    pip show urllib3
    

临时应急修复(不推荐)

如果暂时无法升级,可以手动修改urllib3的selectors.py文件:
找到路径C:\Users\andreas\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\util\selectors.py,将第14行的

from collections import namedtuple, Mapping

修改为

from collections import namedtuple
from collections.abc import Mapping

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 12:00:18