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
解决方案
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
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
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']