我们将 python-urllib3 从 1.5-7 升级到 10.10.4-1,并在 Cloud-init 尝试获取 AWS 元数据时开始出现错误:
“意外错误[无法连接‘str’和‘tuple’对象]”。
我已经看到其他几个 StackOverFlow 问题,这些问题都指向 urllib3 和请求 ( Python Requests Timeout Value error )、( Algolia reindex command fails with exception in urllib3 ) 之间的不兼容问题。
我找不到任何可以协同工作的版本矩阵。其他问题的解决方案我们无法获得,因为调用代码隐藏在CloudInit中。
我们实际上没有选择返回到以前版本的 urllib3,因为其他软件包(ElasticSearch Curator)显然需要更新版本。
最佳答案
Requests 通常提供其 urllib3 依赖项,但下游打包者倾向于将 requests 和 urllib3 分开。这意味着给定版本的 requests 不保证与最初附带的 urllib3 版本之外的任何版本兼容。
无论您的操作系统版本中默认安装的是什么版本,都是唯一可以与您的操作系统安装的请求版本一起工作的 urllib3 版本。
如果您同时需要多个不同版本的 Python 库,我建议您查看 virtual environments .
关于python - 升级urllib3导致cloud-init失败,显然urllib3和python请求存在版本兼容性问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32315550/