web-dev-qa-db-fra.com

demandes d'installation de pip [sécurité] vs demandes d'installation de pip: différence

J'utilise Ubuntu 14.04 (Trusty Tahr) avec Python version 2.7.6. Aujourd'hui, quand j'ai créé un nouveau virtualenv et essayé de faire pip install requests, J'ai eu l'erreur InsecurePlatformWarning.

J'ai résolu ce problème en suivant les instructions de erreur SSL InsecurePlatform lors de l'utilisation du package de demandes.

Mais je veux comprendre quelle est la différence réelle entre ces deux commandes: pip install requests[security] et pip install requests.

  1. Pourquoi le premier installe-t-il trois packages supplémentaires?

  2. Y a-t-il des choses dont je dois faire attention lorsque je pousse le code en production?

  3. Se comportent-ils tous les deux de la même manière en général?

23
Ymartin

Pourquoi l'ancien installe-t-il 3 packages supplémentaires?

En utilisant requests[security] au lieu de requests installera trois packages supplémentaires :

  • pyOpenSSL
  • la cryptographie
  • idna

Ceux-ci sont définis dans extras_requires, as fonctionnalités optionnelles avec des dépendances supplémentaires .

Y a-t-il des choses dont je dois faire attention lorsque je pousse le code en production?

Vous devez vous assurer que vous pouvez installer ces packages supplémentaires sans aucun problème et que toute modification du fonctionnement des connexions SSL n'affecte pas votre utilisation.

Se comportent-ils tous les deux de la même manière en général?

L'utilisation de ces packages par opposition aux options de bibliothèque standard par défaut permettra des connexions SSL plus sécurisées.

Pour plus d'informations, voici la pull request où elle a été fusionnée et voici le problème où elle a été discutée .

(D'après les commentaires, pour quand GitHub disparaît):

Donc, en ce moment, les connexions SSL lorsque vous utilisez pyOpenSSL, ndg-httspclient et pyasn1 sont plus sécurisées que si vous utilisez simplement les options stdlib. Cependant, il est difficile de se souvenir de ces trois choses. Ce serait cool si les demandes ajoutaient un supplément à son setup.py afin que les gens puissent installer des demandes avec betterssl (Donald Stufft)


De plus, par défaut, les demandes ne peuvent pas se connecter à certains sites sur OS X en raison de l'ancien OpenSSL. L'utilisation des 3 packages ci-dessus le permet. (Donald Stufft)

43
citruspi