'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 03:44

I had the same error.

All I did was save it as requests.py

Then I saved it as some other name. And problem solved.

查看更多
该账号已被封号
3楼-- · 2019-03-18 03:52

As already stated, the most common problem is that you have a requests.py file somewhere in your PYTHONPATH.

But as the requests module internally uses other modules (e.g. from the standard python library), there might be problems with other filenames as well. For example I had the same problem when I named a script http.py. In that case the output of print dir(requests) is correct which makes tracking down the error a bit more difficult...

查看更多
神经病院院长
4楼-- · 2019-03-18 03:54

I made a mistake of the test file's name was requests.py. So, when i import requests.py, it's not what I want to import. Then, I renamed the test file's name. It works!!!

查看更多
倾城 Initia
5楼-- · 2019-03-18 03:58

This could be an user error if you're working with a framework like Django that has request objects as well.

I constantly get confused by Django's:

request.POST

and request's:

request.post

That was my problem, anyway. Bracing for down votes.

查看更多
兄弟一词,经得起流年.
6楼-- · 2019-03-18 03:59

You have to variants of how to fix this.

import requests

or

r = get('https://github.com/timeline.json')

P.S. First one is preferable

查看更多
萌系小妹纸
7楼-- · 2019-03-18 03:59

I happened the same issue on Mac and Ubuntu. I want to test the requests command. I used the requests/ folder name and the requests.py filename on Mac. But Python shows the "ImportError: cannot import name get" message. Therefore, I have renamed the requests/ folder and the requests.py file to test-requests/ and test-requests.py. It still got the message. I checked the folder as below:

__pycache__     requests.pyc        test-1.py       test-requests.py

I saw that the folder has the requests.pyc file. So I deleted the requests.pyc file in the folder. Then, I executed the below test script. it's working now.

$ python test-requests.py 
200

#! /usr/bin/env python
# the content of test-requests.py
import requests
from requests import get
r = requests.get('http://httpbin.org/get')
print (r.status_code)
查看更多
登录 后发表回答