python - 升级urllib3导致cloud-init失败,显然urllib3和python请求存在版本兼容性问题?

标签 python python-requests urllib3 cloud-init

我们将 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/

相关文章:

Python CSV 错误 : line contains NULL byte

openssl - Python 请求 : . pem -> .crt + key

Python 请求 - 如何添加多个自己的证书

鹡鸰依赖问题

python-requests - 在 Python 中使用随机退避延迟重试失败的 http 请求?

python - argparse 与 argument_groups 和 mutually_exclusive_group

python - 在 setup.py 中清理 C++ 扩展构建目录

Python:加入两个相同大小的列表

python - 无法抓取《华尔街日报》页面上 "div"类中的数据

python - Flask/Werkzeug 请求对象表单参数