【问题标题】:Python Requests just got very slow, better alternative?Python 请求变得非常缓慢,更好的选择?
【发布时间】:2015-08-22 21:49:00
【问题描述】:

我有一个 Web 服务器,其中一些页面使用 Python 脚本作为后端。其中大约有六人使用 Requests 模块实时获取在线资源。这在很长一段时间内都可以正常工作。升级到最新的 Debian (jessie) 后,每个请求都需要大约 1 秒的时间。

据我发现,requests 模块依次导入 openssl,而该导入是花费额外时间的地方。我敢肯定,它已被报告为错误,最终将得到解决。我不使用任何 HTTPS,并希望我能以某种方式禁用 SSL 部分,但没有找到合适的选项/参数。

这在 Debian 中是如何工作的?有人告诉我稳定版本只接收安全性 修复。慢速模块与安全无关,因此无法解决 (apt-get 方式)直到下一个稳定的 Debian 到期?

额外的 1 秒等待是不可接受的,所以我可能会重写我的模块 没有要求。这是一个耻辱;我真的很喜欢请求。

什么是请求的好替代品?好像有三个版本 urllib的,互相不兼容?

【问题讨论】:

  • 你可以用pip安装
  • 您是否尝试过分析您的脚本?
  • 是的,一切都快如闪电,除了“导入请求”这一行几乎需要一秒钟。
  • @user1154915 调试它然后看看requests内部到底发生了什么
  • @user1154915 抱歉,我没有仔细阅读。我建议您删除使用 apt 安装的requests 并使用 pip 代替,安装包而不需要额外的

标签: python debian python-requests


【解决方案1】:

感谢上面cmets中的人,问题解决了。我通过执行以下操作将 apt 版本的 Requests 包替换为 pip:

apt-get remove python-requests
apt-get install libffi-dev
pip install --upgrade requests
pip install --upgrade pyOpenSSL

上面的 pip 包实际上已经安装了,但是有更高版本可用。 pip freeze 说我现在拥有的版本是 pyOpenSSL==0.15.1 和 requests==2.7.0,它工作得很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    • 2018-12-28
    • 1970-01-01
    相关资源
    最近更新 更多