【问题标题】:upgrading urllib3 made cloud-init fail, apparently urllib3 and python requests have version compatibility issues?升级 urllib3 导致 cloud-init 失败,显然 urllib3 和 python 请求有版本兼容性问题?
【发布时间】:2015-11-25 17:48:33
【问题描述】:

我们将 python-urllib3 从 1.5-7 升级到 10.10.4-1,并在 Cloud-init 尝试获取 AWS 元数据时开始出现错误:

"unexpected error [cannot concatenate 'str' and 'tuple' objects]".

我已经看到其他几个 StackOverFlow 问题指向 urllib3 和请求 (Python Requests Timeout Value error)、(Algolia reindex command fails with exception in urllib3) 之间的不兼容问题。

我找不到可以协同工作的任何版本矩阵。由于调用代码隐藏在 CloudInit 中,因此我们无法获得其他问题中的解决方案。

我们真的没有选择回到以前版本的 urllib3,因为其他包(ElasticSearch Curator)显然需要更新版本。

【问题讨论】:

  • 需要一些 Traceback 代码来重新编辑基类。但我的想法不仅仅是一个错误!

标签: python python-requests urllib3 cloud-init


【解决方案1】:

Requests 通常提供其 urllib3 依赖项,但下游打包程序倾向于将请求和 urllib3 分开。这意味着给定版本的请求不保证与任何版本的 urllib3 兼容,除了它最初附带的版本。

在您的操作系统版本中默认安装的任何版本都是唯一适用于您的操作系统安装的请求版本的 urllib3 版本。

如果您同时需要多个不同版本的 Python 库,我建议您查看 virtual environments

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多