2017-12-02 142 views
0

我试图让请求工作。我只是尝试从文档中的第一行,在这里: http://docs.python-requests.org/en/master/所以我假设我有一个不好的安装?python27 requests.get()递归

下面是从上面的例子:

import requests 
r = requests.get('https://api.github.com/user', auth=('user', 'pass')) 

我不认为我会得到这种行为从文档中提供的第一个例子。

我只是从requests.get()获得无限递归。

File "C:\Python27\lib\requests.py", line 144, in get 
     return requests.get(url, **kwargs) 
     File "C:\Python27\lib\requests.py", line 144, in get 
     return requests.get(url, **kwargs) 
     File "C:\Python27\lib\requests.py", line 143, in get 
    with ignore_insecure_warning(**kwargs): 
    File "C:\Python27\lib\contextlib.py", line 17, in __enter__ 
    return self.gen.next() 
    File "C:\Python27\lib\requests.py", line 103, in ignore_insecure_warning 
    with warnings.catch_warnings(): 
RuntimeError: maximum recursion depth exceeded 

我不知道如果我总有Python或安装不正确的库,因为 我也得到点子

pip install anythingAtAll 

相关的错误打开我与标签的Atom文本编辑器:“弄点子.py“,”安装“&”anythingAtAll“但不安装。

如果我卸载atom,pip工作正常。我没有看到其他机器上的这些行为。我尝试了一个全新安装的python &原子,它不能解决pip错误。

+0

听起来像是'pip'是绑定到Atom来打开文件,而不是Python安装工具 –

+0

'requests.py'不是'python-requests.org'文件的库,因为这是一个*包*。不知道确切的是什么。 –

+0

此外,我期望'请求'生活在'C:\ Python27 \ lib \ site-packages'中,而不是'C:\ Python27 \ lib'。 –

回答

0

您有一个名为requests.py的不同模块。这是多次自称:

File "C:\Python27\lib\requests.py", line 144, in get 
    return requests.get(url, **kwargs) 
    File "C:\Python27\lib\requests.py", line 144, in get 
    return requests.get(url, **kwargs) 

这就是get()函数调用本身,最终击中面前行了上下文管理器的递归限制。

重命名或删除该文件,它是掩盖真正的requests库(它使用,不是一个单一的模块,所以你会在回溯看到requests/<something>.py名。

+0

是的,我重新安装了(再次)和多余的请求。 py被删除了,我可能不小心安装了2.7.0而不是2.7.14。我不确定2.7.0是否带有请求?或者如果这是单独安装。谢谢Martijn。 – DaveP

+0

@DaveP:2.7.0没有带'requests.py'文件,而不是'lib'。请参阅https://github.com/python/cpython/tree/v2.7/Lib –