我正在使用grequests模块来调用一些API。我想做两件事。
当我在两个不同的文件中使用两个模块时,它将正常运行,但是当我在同一个文件中导入两个模块时,请求模块将处于无限递归状态。
#!/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() .↓
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?
发布于 2017-08-09 15:22:07
是。在请求之后导入requests。这是一个关于这一点的公开发行。
发布于 2021-12-19 12:07:12
这是唯一对我有用的东西(Python3.8.6,一个需要导入grequests和requests的模块) (来源)。这应先于所有其他进口:
from gevent import monkey
def stub(*args, **kwargs): # pylint: disable=unused-argument
pass
monkey.patch_all = stub
import grequestshttps://stackoverflow.com/questions/43183367
复制相似问题