2017-11-17 3 views
0

사용하고있는 스크립트에서 갑자기 오류가 발생했습니다. 필자가 작성한 패키지에서 함수를 호출하면 (재귀 오류가 발생 함) 패키지 자체에서 동일한 인수를 사용하여 동일한 함수를 호출 할 수 있습니다. 관련된 루프가없고 재귀가 없습니다.비 재귀 스크립트의 갑작스러운 재귀 오류

다른 패키지에서도 오류가 발생합니다.

import play_scraper 
print(play_scraper.details("com.whatsapp")) 

이 수익률 :

Traceback (most recent call last): 
    File "C:/Users/wd/OneDrive - UGent/Python/test/test.py", line 3, in <module> 
    print(play_scraper.details("com.whatsapp")) 
    File "C:\Users\wd\AppData\Roaming\Python\Python36\site-packages\play_scraper\api.py", line 22, in details 
    return s.details(app_id) 
    File "C:\Users\wd\AppData\Roaming\Python\Python36\site-packages\play_scraper\scraper.py", line 292, in details 
    response = send_request('GET', url) 
    File "C:\Users\wd\AppData\Roaming\Python\Python36\site-packages\play_scraper\utils.py", line 120, in send_request 
    verify=verify) 
    File "C:\Users\wd\AppData\Roaming\Python\Python36\site-packages\requests\api.py", line 58, in request 
    return session.request(method=method, url=url, **kwargs) 
    File "C:\Users\wd\AppData\Roaming\Python\Python36\site-packages\requests\sessions.py", line 502, in request 
    resp = self.send(prep, **send_kwargs) 
    File "C:\Users\wd\AppData\Roaming\Python\Python36\site-packages\requests\sessions.py", line 612, in send 
    r = adapter.send(request, **kwargs) 
    File "C:\Users\wd\AppData\Roaming\Python\Python36\site-packages\requests\adapters.py", line 440, in send 
    timeout=timeout 
    File "C:\Users\wd\AppData\Roaming\Python\Python36\site-packages\urllib3\connectionpool.py", line 600, in urlopen 
    chunked=chunked) 
    File "C:\Users\wd\AppData\Roaming\Python\Python36\site-packages\urllib3\connectionpool.py", line 345, in _make_request 
    self._validate_conn(conn) 
    File "C:\Users\wd\AppData\Roaming\Python\Python36\site-packages\urllib3\connectionpool.py", line 844, in _validate_conn 
    conn.connect() 
    File "C:\Users\wd\AppData\Roaming\Python\Python36\site-packages\urllib3\connection.py", line 314, in connect 
    cert_reqs=resolve_cert_reqs(self.cert_reqs), 
    File "C:\Users\wd\AppData\Roaming\Python\Python36\site-packages\urllib3\util\ssl_.py", line 265, in create_urllib3_context 
    context.options |= options 
    File "C:\Python36-32\lib\ssl.py", line 459, in options 
    super(SSLContext, SSLContext).options.__set__(self, value) 
    File "C:\Python36-32\lib\ssl.py", line 459, in options 
    super(SSLContext, SSLContext).options.__set__(self, value) 
    File "C:\Python36-32\lib\ssl.py", line 459, in options 
    super(SSLContext, SSLContext).options.__set__(self, value) 
    [Previous line repeated 323 more times] 
RecursionError: maximum recursion depth exceeded while calling a Python object 

물론, 재귀 어떤 종류의 내 두 줄 스크립트 발생하지 않습니다. 내 최고의 추측 : 3.5.1에서이 오류가 발생하지 않았기 때문에 알 수없는 패키지를 3.6.1 인터프리터에 설치하는 동안 뭔가를 변경했습니다. 내가 설치 한 play_scraper 요구 사항 중 하나 일 수 있습니다.

beautifulsoup4 (>=4.4.1) 
grequests (>=0.3.0) 
lxml (>=3.6.0) 
requests (>=2.9.1) 

이것은 모두 꽤 추측입니다. 누구에게 무슨 일이 일어나고 있는지에 대한 단서가 있습니까?

답변

0

나는 gunicorn gevent 환경의 요청을 사용하여 동일한 오류가 발생했습니다. 내가 버전 1.2.2와 같은 오류를 볼 수 있지만, 트릭을해야 당신의 gevent 버전을 업그레이드하는 문제에 따라 https://github.com/gevent/gevent/issues/903

:

아마 관련이있다.