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

Python3.12导入requests报错:找不到six.moves模块(Python3.8可正常运行)

解决Python 3.12导入requests时出现ModuleNotFoundError: No module named 'six.moves'的问题

问题原因

你遇到的问题是因为系统中安装的urllib3版本过旧,该版本依赖six库实现Python 2与早期Python 3的兼容,但Python 3.12环境未安装six,且新版urllib3已移除对six的依赖。而Python 3.8环境要么预装了six,要么对应的urllib3版本与环境兼容,因此能正常导入requests。

解决方案

方案1:用虚拟环境安装适配Python 3.12的requests版本(推荐)

虚拟环境能隔离系统包冲突,是最稳妥的解决方式:

  • 创建并激活虚拟环境:
    python3.12 -m venv venv
    source venv/bin/activate
    
  • 安装最新版requests:
    pip install requests --upgrade
    
    最新版requests依赖的urllib3已不再需要six,可完美适配Python 3.12。

方案2:给Python 3.12安装six(临时 workaround)

若不想使用虚拟环境,可直接为Python 3.12安装six库:

sudo python3.12 -m pip install six

但这只是临时修复,后续可能出现其他兼容性问题,建议优先选择方案1。

方案3:升级系统级urllib3版本

若系统允许,可升级系统中的urllib3:

sudo python3 -m pip install urllib3 --upgrade

注意:此操作可能影响系统中依赖旧版urllib3的其他程序,操作前需谨慎评估风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 01:12:39