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

Python Requests库报错无法解决求助:ImportError与循环导入导致的AttributeError问题

问题排查与解决方案

嘿,我立刻就发现问题的根源了!你的脚本文件名是typing.py,这和Python标准库中的typing模块重名了,这直接引发了循环导入的问题,导致你看到的两个奇怪错误。

为什么会出现这些错误?

  1. 第一个错误:ImportError: cannot import name 'Union' from 'typing'
    当requests依赖的idna模块尝试从标准库typing导入Union时,Python的模块查找机制会优先加载当前工作目录下的typing.py(也就是你的脚本),而你的脚本里并没有定义Union这个对象,所以抛出了导入错误。

  2. 第二个错误:AttributeError: partially initialized module 'requests' has no attribute 'get'
    在模块加载的循环过程中,requests模块还没完成全部初始化,你的脚本就已经开始调用requests.get()了,此时requests模块还没来得及注册get这个属性,所以出现了这个错误。

快速解决步骤

  • 重命名你的脚本文件:把typing.py改成一个不会和标准库冲突的名字,比如type_speed_game.py或者my_typer.py。
  • 清理缓存:删除当前目录下的__pycache__文件夹(如果存在),避免残留的缓存文件干扰模块加载。
  • 重新运行脚本:这时候Python会正确加载标准库的typing模块,requests也能正常初始化并使用get方法了。

你之前写相同代码没问题,只是因为之前的脚本文件名没有和标准库模块重名,这次刚好踩了命名冲突的小坑,调整一下文件名就搞定啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 18:04:08