首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有请求的grequests有冲突。

带有请求的grequests有冲突。
EN

Stack Overflow用户
提问于 2017-04-03 11:23:09
回答 2查看 2.2K关注 0票数 8

我正在使用grequests模块来调用一些API。我想做两件事。

  1. 一个请求(使用请求模块)
  2. 多个请求(使用grequests模块)

当我在两个不同的文件中使用两个模块时,它将正常运行,但是当我在同一个文件中导入两个模块时,请求模块将处于无限递归状态。

代码语言:javascript
复制
  #!/usr/bin/env python                                                                                                                                                                                          
  #-*- encoding:utf-8 -*-                                                                                                                                                                                        

  import requests                                                                                                                                                                                                
  import grequests                                                                                                                                                                                               

  def SingleRequest():                                                                                                                                                                                           
      rs = requests.get("www.example.com")                                                                                                                                                                          
      return rs                                                                                                                                                                                             

  def MultiRequest():                                                                                                                                                                                            
      urls = [                                                                                                                                                                                                   
          "www.example1.com", 
          "www.example2.com",  
          "www.example3.com"                                                                                                
      ]                                                                                                                                                                                                          
      rs = [grequests.get(u) for u in urls]                                                                                                                                                        
      rs_map = grequests.map(rs);                                                                                                                                                                                
      return rs_map;       

如果我调用MultiRequest(),->做得很好!

但如果我打电话给SingleRequest() .↓

代码语言:javascript
复制
Exception Type: RecursionError
Exception Value: maximum recursion depth exceeded
Exception Location: /usr/local/lib/python3.6/ssl.py in options, line 459

/usr/local/lib/python3.6/ssl.py in options
     super(SSLContext, SSLContext).options.__set__(self, value) X 100 times...

是否可以在一个文件中使用请求和grequests

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-09 15:22:07

是。在请求之后导入requests。这是一个关于这一点的公开发行

票数 14
EN

Stack Overflow用户

发布于 2021-12-19 12:07:12

这是唯一对我有用的东西(Python3.8.6,一个需要导入grequestsrequests的模块) (来源)。这应先于所有其他进口:

代码语言:javascript
复制
from gevent import monkey
def stub(*args, **kwargs):  # pylint: disable=unused-argument
    pass
monkey.patch_all = stub
import grequests
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43183367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档