导入requests库时遭遇ModuleNotFoundError错误寻求解决办法
导入requests库时遭遇ModuleNotFoundError错误寻求解决办法
别着急,看起来你遇到的是requests和它的依赖包urllib3、six版本不兼容的问题,我来帮你一步步解决:
首先看你的错误信息:ModuleNotFoundError: No module named 'urllib3.packages.six.moves',这是因为新版本的urllib3(比如你安装的2.2.3)已经移除了内置的six模块,但你的requests版本可能比较旧,还在尝试调用这个已经不存在的模块路径。
下面是具体的解决步骤:
第一步:彻底卸载相关包,避免残留问题
先把requests、urllib3、six都完全卸载,防止旧版本的文件干扰:pip uninstall -y requests urllib3 six第二步:安装兼容的版本组合
有两种稳妥的方式:- 推荐:安装最新版的requests
最新版的requests已经适配了新版urllib3的变化,会自动处理依赖关系:pip install --upgrade requests - 如果需要保留特定版本的requests
可以安装和旧版requests兼容的urllib3版本(比如1.26.x系列):pip install urllib3==1.26.18
- 推荐:安装最新版的requests
第三步:验证问题是否解决
安装完成后,打开Python环境试试导入:import requests print("Requests版本:", requests.__version__) print("Urllib3版本:", requests.compat.urllib3_version)如果没有报错,说明问题已经解决啦!
补充说明一下:你之前尝试卸载重装但没解决,大概率是因为只单独重装了requests,没有处理urllib3的版本冲突。新版本urllib3不再把six打包在自己的packages目录下,而是作为独立的外部依赖,旧版requests找不到这个路径就会报错。
备注:内容来源于stack exchange,提问作者user23642684
相关产品推荐
相关产品推荐

