【问题标题】:pip install requests[security] vs pip install requests: Differencepip install requests[security] vs pip install requests:差异
【发布时间】: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. 为什么前者要额外安装三个包?

  2. 将代码推送到生产环境时有什么需要注意的吗?

  3. 它们的行为通常相同吗?

【问题讨论】:

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


    【解决方案1】:

    为什么前者要额外安装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

    (来自 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.0 security extra 不再做任何事情。
    猜你喜欢
    • 2020-04-22
    • 2018-08-12
    • 1970-01-01
    • 2015-06-01
    • 2019-11-18
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    相关资源
    最近更新 更多