python requests 导入错误
当我尝试导入 requests
模块时:
import requests
r = requests.get('https://github.com/timeline.json')
我收到了这个错误:
Traceback (most recent call last):
File "C:\Users\gek0n\Desktop\requests.py", line 1, in <module>
import requests
File "C:\Users\gek0n\Desktop\requests.py", line 3, in <module>
r = requests.get('https://github.com/timeline.json')
AttributeError: 'module' object has no attribute 'get'
然后我查看了 Stack Overflow,发现了这个:
print dir(requests)
而不是这个:
['ConnectionError', 'HTTPError', 'Request', 'RequestException', 'Response', 'Session', 'Timeout', 'TooManyRedirects', 'URLRequired', '__author__', '__build__', '__builtins__', '__copyright__', '__doc__', '__file__', '__license__', '__name__', '__package__', '__path__', '__title__', '__version__', '_oauth', 'api', 'auth', 'certs', 'codes', 'compat', 'cookies', 'defaults', 'delete', 'exceptions', 'get', 'head', 'hooks', 'models', 'options', 'packages', 'patch', 'post', 'put', 'request', 'safe_mode', 'session', 'sessions', 'status_codes', 'structures', 'utils']
我有的是这个:
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'requests']
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'requests']
没错!这里有两个字符串,但只有六个元素。为什么会这样?哪里出错了,我该怎么解决?
1 个回答
4
你把你的脚本命名为 requests.py
,结果它被导入了,而不是你想用的库。
因为你的 import requests
这一行是在模块的最前面,所以在它再次导入自己的时候,模块里唯一找到的对象就是这个(除了那些标准的双下划线值),这就是为什么你在 dir()
的输出中看到 'requests'
的原因。
所以,换个名字给你的脚本吧。