python - AttributeError:'module'对象没有属性

Bru*_*uce 2 python attributeerror python-requests

我正在尝试这个简单的代码:

import requests
print requests.__file__
r = requests.get('https://github.com/timeline.json')
Run Code Online (Sandbox Code Playgroud)

当我逐行输入行时,它在命令行上完美地工作,但当我作为脚本或Sublime Text 2执行它时,它不是什么.这是堆栈跟踪:

C:\Python27\lib\site-packages\requests\__init__.pyc
Traceback (most recent call last):
  File "C:\Users\Bruce\Desktop\http.py", line 1, in <module>
    import requests
  File "C:\Python27\lib\site-packages\requests\__init__.py", line 53, in <module>
    from requests.packages.urllib3.contrib import pyopenssl
  File "C:\Python27\lib\site-packages\requests\packages\__init__.py", line 3, in <module>
    from . import urllib3
  File "C:\Python27\lib\site-packages\requests\packages\urllib3\__init__.py", line 16, in <module>
    from .connectionpool import (
  File "C:\Python27\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 15, in <module>
    from http.client import HTTPConnection, HTTPException
  File "C:\Users\Bruce\Desktop\http.py", line 3, in <module>
    r = requests.get('https://github.com/timeline.json')
AttributeError: 'module' object has no attribute 'get'
[Finished in 0.2s with exit code 1]
Run Code Online (Sandbox Code Playgroud)

'模块对象没有属性'获取'Python错误请求的答案没多大帮助.

这可能是我的ST2 Python构建系统中的一些错误吗?我尝试删除所有requests模块,以防万一它们使用pip并重新安装它们的倍数.

Wes*_*sie 8

编辑再次读取堆栈跟踪后,您可以看到urllib3尝试从http模块导入内容.您的文件被调用http.py,因此导入而不是预期的文件.

由于导入的循环性质,发生实际错误.既然requests尚未完全进口.该get函数requests时,尚未确定http进口达到import requests一次.

注意:您还需要始终使用if __name__ == '__main__'构造保护您的入口点.对于毫无疑问的未来开发人员(包括您自己),这通常会避免令人讨厌的错误.