pip install requests[security] vs pip install requests:差异
Posted
技术标签:
【中文标题】pip install requests[security] vs pip install requests:差异【英文标题】:pip install requests[security] vs pip install requests: Difference 【发布时间】:2015-10-27 00:22:28 【问题描述】:我正在使用 Ubuntu 14.04 (Trusty Tahr) 和 Python 版本 2.7.6。今天,当我创建一个新的virtualenv
并尝试执行pip install requests
时,我收到了错误InsecurePlatformWarning
。
我按照 SSL InsecurePlatform error when using Requests package 中的说明解决了这个问题。
但我想了解这两个命令之间的实际区别是什么:
pip install requests[security]
和 pip install requests
。
为什么前者要额外安装三个包?
将代码推送到生产环境时有什么需要注意的吗?
它们的行为通常相同吗?
【问题讨论】:
【参考方案1】:为什么前者要额外安装3个包?
使用requests[security]
代替requests
将安装three additional packages:
这些在extras_requires
中定义为optional features with additional dependencies。
当我将代码推送到生产环境时,有什么需要注意的吗?
您需要确保能够安装这些附加软件包而不会出现任何问题,并且对 SSL 连接工作方式的任何更改都不会影响您的使用。
它们的行为通常相同吗?
使用这些包而不是默认的标准库选项将允许更安全的 SSL 连接。
更多信息,here's the pull request where it was merged in 和 here is the issue where it was discussed。
(来自 cmets,当 GitHub 消失时):
因此,现在使用 pyOpenSSL、ndg-httspclient 和 pyasn1 时的 SSL 连接比仅使用 stdlib 选项更安全。然而,很难真正记住这三件事。如果 requests 会在 setup.py 中添加一个额外的内容,这样人们就可以使用 betterssl (Donald Stufft) 安装请求,那就太酷了
此外,由于古老的 OpenSSL,默认情况下请求无法连接到 OS X 上的某些站点。使用上述 3 个软件包使其成为可能。 (唐纳德的东西)
【讨论】:
@citruspi “在 Python 3.4+ 和 Python 2.7.9+ 上,它不再更好了”参见here 如何使用“yum”安装它? As of requests 2.26.0security
extra 不再做任何事情。以上是关于pip install requests[security] vs pip install requests:差异的主要内容,如果未能解决你的问题,请参考以下文章
安装 pip install requests 和 pip install bs4 [重复]