'Module object has no attribute 'get'

2019-03-18 03:25发布

i just installed the Requests module by using 'easy_insatll' and i tried to run the demo code of this tutrorial,

import requests
payload = {'username': 'xxxx', 'password': 'xxxxx'}
r = requests.get('https://github.com/timeline.json')

but i get this error: AttributeError: 'module' object has no attribute 'get'

any idea? thanks

8条回答
干净又极端
2楼-- · 2019-03-18 04:03

You are importing all names from the requests module into your local namespace, which means you do not need to prefix them anymore with the module name:

>>> from requests import *
>>> get
<function get at 0x107820b18>

If you were to import the module with an import requests statement instead, you added the module itself to your namespace and you do have to use the full name:

>>> import requests
>>> requests.get
<function get at 0x102e46b18>

Note that the above examples is what I got from my tests in the interpreter. If you get different results, you are importing the wrong module; check if you have an extra requests.py file in your python package:

>>> import requests
>>> print requests.__file__
/private/tmp/requeststest/lib/python2.7/site-packages/requests/__init__.pyc

You can also test for the name listing provided by the requests module:

>>> 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']
查看更多
别忘想泡老子
3楼-- · 2019-03-18 04:04

This is the typical symptom of an unrelated requests.py (or requests.pyc) file sitting in your current directory, or somewhere else on the PYTHONPATH. If this is the case, remove or rename it, as it's shadowing the module you really want to import.

查看更多
登录 后发表回答