1

python-urllib3 を 1.5-7 から 10.10.4-1 にアップグレードし、AWS メタデータを取得しようとしたときに Cloud-init でエラーが発生し始めました。

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

urllib3 とリクエストの間の非互換性の問題 ( Python Requests Timeout Value error ) を指している他のいくつかの StackOverFlow の問題を見てきました ( Algolia reindex コマンドが urllib3 で例外を出して失敗します)。

私が見つけられないのは、一緒に機能するバージョンのマトリックスです。呼び出しコードが CloudInit に埋め込まれているため、他の質問の解決策は利用できません。

他のパッケージ (ElasticSearch Curator) が明らかに新しいバージョンを必要とするため、以前のバージョンの urllib3 に戻るオプションは実際にはありません。

4

1 に答える 1

1

Requests の通常のベンダーはその urllib3 依存関係を提供しますが、下流のパッケージャーは要求と urllib3 を切り離す傾向があります。これは、特定のバージョンのリクエストが、最初に同梱されたバージョン以外の urllib3 のバージョンと互換性があることを保証しないことを意味します。

OS リリースにデフォルトでインストールされているバージョンは、OS によってインストールされたリクエストのバージョンで動作する urllib3 の唯一のバージョンです。

同時に複数の異なるリリースの Python ライブラリが必要な場合は、仮想環境を検討することをお勧めします。

于 2015-09-01T09:56:16.563 に答える