我内置的http模块有一个非常奇怪的python问题。它成功导入,但http.client属性不存在? 它存在于python文档中,我兄弟完美地运行代码。它对我来说不起作用,无论是在我的linux笔记本电脑还是我的Mac上! 已经有几天这个问题了,真的需要修复它!
确切的错误消息是:
except (http.client.ResponseNotReady, http.client.CannotSendRequest, http.client.BadStatusLine) as e:
AttributeError: 'module' object has no attribute 'client'
删除此异常时,此文件中只有更多异常,所以我不能简单地删除该异常
因为我找不到这个问题的根源,所以我开始探测http模块文件夹并找到client.py
在python解释器中输入help(http)时,它会响应:
PACKAGE CONTENTS
client
cookiejar
cookies
server
FILE
/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/http/__init__.py
嗯,我知道自动生成帮助命令信息,这些软件包可能已被删除或其他内容。所以我去了http目录并做了一个“ls -l”给我这个:
-rw-r--r-- 1 root wheel 38 6 Apr 21:29 __init__.py
drwxr-xr-x 12 root wheel 408 4 May 21:29 __pycache__
-rw-r--r-- 1 root wheel 44644 6 Apr 21:29 client.py
-rw-r--r-- 1 root wheel 75973 6 Apr 21:29 cookiejar.py
-rw-r--r-- 1 root wheel 20360 6 Apr 21:29 cookies.py
-rw-r--r-- 1 root wheel 44788 6 Apr 21:29 server.py
我一直在寻找client.py!它甚至有很多代码,所以不能访问它?
也不可能只是尝试在python解释器中访问它!
>>> import http
>>> http.client
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'client'
提前致谢!
答案 0 :(得分:5)
您导入了http
。但是你也导入了http.client
吗?
这是必要的,因为它取决于包的__init__.py
是否导入了子模块。