本文主要是介绍requests库:ImportError: cannot import name UnverifiedHTTPSConnection,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
执行下面这个导包命令报错:
from requests.packages.urllib3.connection import UnverifiedHTTPSConnection
ImportError: cannot import name UnverifiedHTTPSConnection
查了半天没太多有用信息,盲猜是版本问题。果然通过requirements.txt文件安装的版本跟线上项目的文件版本不太一样。
把urllib3和chardet的版本改成线上的版本就ok了。
requests库的源码:
try:check_compatibility(urllib3.__version__, chardet.__version__)
except (AssertionError, ValueError):warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported ""version!".format(urllib3.__version__, chardet.__version__),RequestsDependencyWarning)
可以看到,requests库对urllib3和chardet的版本有要求。
每次搞新项目最烦的就是配环境,哪怕docker也会碰到各种问题。
总结写import的错误常见的可能原因:
1、项目的自己写的包或者模块跟第三方重名了
2、再就是版本不对应,或者依赖版本不对应
3、可能是缺少系统级依赖,或者依赖版本不对,不过感觉这一般是安装的时候出问题的原因。
这篇关于requests库:ImportError: cannot import name UnverifiedHTTPSConnection的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!