pip安装请求[安全] vs pip安装请求:差异

时间:2015-08-04 14:24:46

标签: python python-2.7 pip virtualenv python-requests

我使用的是Python版本2.7.6的Ubuntu 14.04(Trusty Tahr)。今天,当我创建新的virtualenv并尝试执行pip install requests时,我收到了错误InsecurePlatformWarning

我按照 SSL InsecurePlatform error when using Requests package 中的说明解决了这个问题。

但我想了解这两个命令之间的实际区别是什么: pip install requests[security]pip install requests

  1. 为什么前者安装了三个额外的包?

  2. 将代码推送到生产环境时,是否需要注意哪些事项?

  3. 他们一般都表现得一样吗?

1 个答案:

答案 0 :(得分:41)

  

为什么前者安装3个额外的包?

使用requests[security]代替requests将安装three additional packages

  • pyOpenSSL
  • 加密
  • IDNA

这些内容在extras_requires中定义为optional features with additional dependencies

  

当我将代码推送到生产环境时,是否需要注意哪些事项?

您需要确保能够安装这些附加软件包而不会出现任何问题,并且对SSL连接工作方式的任何更改都不会影响您的使用。

  

他们一般都表现得一样吗?

使用这些软件包而不是默认的标准库选项将允许更安全的SSL连接。

有关详细信息,请here's the pull request where it was merged inhere is the issue where it was discussed

(从评论中,当GitHub消失时):

  

现在,当您使用pyOpenSSL,ndg-httspclient和pyasn1时,SSL连接比使用stdlib选项更安全。然而,实际上很难记住这三件事。如果请求会为它的setup.py添加一个额外的内容,那么人们可以用betterssl安装请求(Donald Stufft)


  

默认情况下,由于古老的OpenSSL,请求无法连接到OS X上的某些站点。使用上述3个包可以实现。 (唐纳德斯塔菲)