导入requests模块时触发KeyError: 'requests',已安装仍报错求解决
解决KeyError: 'requests'问题的排查步骤
你遇到的KeyError: 'requests'并非典型的模块未安装问题(模块未找到会报ImportError),大概率是Python环境不匹配、文件名冲突或隐性代码问题导致,按以下步骤逐一排查:
验证IDLE与pip的Python版本一致性
- 打开IDLE交互窗口,执行以下代码并记录输出的Python路径:
import sys print(sys.executable) - 打开命令提示符,执行:
pip --version
对比两者的Python路径是否一致。如果不一致,说明pip安装的requests属于另一个Python环境,IDLE无法识别。此时用IDLE对应的Python解释器重新安装模块,示例命令:
# 替换为IDLE输出的Python路径 C:\Python39\python.exe -m pip install requests- 打开IDLE交互窗口,执行以下代码并记录输出的Python路径:
检查脚本文件名是否冲突
确保你的脚本文件名不是requests.py——如果重名,Python会优先导入你自己的脚本而非第三方requests模块,后续调用会出现异常。若重名,将脚本重命名(比如btc_price_check.py),并删除生成的requests.pyc缓存文件。在IDLE中直接测试模块可用性
打开IDLE交互窗口,依次执行:import requests response = requests.get("https://api.kucoin.com/api/v1/market/orderbook/level2_100?symbol=BTC-USDT") print(response.status_code)如果
import requests报错,说明模块确实未在IDLE环境中安装;如果能正常获取响应,再检查你的代码是否有隐性的字典键错误(比如误写了["requests"]这类键名)。重启IDLE
修改PATH环境变量后,必须重启IDLE才能让新路径生效,否则IDLE仍会使用旧路径查找模块。
另外,你的代码最后一行get_btc_price未加括号,不会触发函数执行,建议改为get_btc_price()。
内容的提问来源于stack exchange,提问作者garganacl
相关产品推荐
相关产品推荐

