2015-08-31 1 views
0

nous avons amélioré notre python-urllib3 à 1,5 à 7 10.10.4-1 et a commencé à obtenir des erreurs du Cloud-init quand il a essayé d'obtenir des métadonnées AWS:mise à niveau urllib3 fait cloud-init échouent, apparemment demandes urllib3 et python ont des problèmes de compatibilité de version?

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

Je l'ai vu plusieurs autres Stackoverflow problèmes pointant vers des problèmes d'incompatibilité entre urllib3 et les requêtes (Python Requests Timeout Value error), (Algolia reindex command fails with exception in urllib3).

Ce que je ne peux pas trouver est une matrice des versions que font fonctionnent ensemble. Les solutions dans les autres questions ne sont pas disponibles car le code invoquant est enterré dans CloudInit.

Nous n'avons pas vraiment la possibilité de revenir à notre version précédente d'urllib3 car l'autre paquet (ElasticSearch Curator) nécessite apparemment la version la plus récente.

+0

besoin d'un code Traceback pour ré-éditer la classe de base. Mais mon idée n'est pas seulement un bug! – dsgdfg

Répondre

1

Demande habituellement à ses fournisseurs sa dépendance urllib3, mais les conditionneurs en aval ont tendance à briser les requêtes et à les séparer. Cela signifie qu'une version donnée des requêtes ne garantit pas la compatibilité avec une version d'urllib3 autre que celle avec laquelle elle a été expédiée à l'origine. Quelle que soit la version installée par défaut dans votre version du système d'exploitation, c'est la seule version d'urllib3 qui fonctionnera avec la version des requêtes installées par votre système d'exploitation.

Si vous avez besoin de plusieurs versions différentes de bibliothèques Python en même temps, je vous recommande de regarder dans virtual environments.