使用Python 3.4.1导入http.client encouter导入错误
我遵循python在线文档(21.12.3)中的示例进行练习。当我尝试使用运行模块(F5)运行脚本时,总是会出现导入错误。但如果我直接将它们输入空闲命令行,python不会抱怨。我不确定我做错了什么 我使用的python版本是 win32上的Python 3.4.1(v3.4.1:c0e311e010fc,2014年5月18日,10:38:22)[MSC v.1600 32位(英特尔)] 剧本是使用Python 3.4.1导入http.client encouter导入错误,python,python-3.x,python-import,Python,Python 3.x,Python Import,我遵循python在线文档(21.12.3)中的示例进行练习。当我尝试使用运行模块(F5)运行脚本时,总是会出现导入错误。但如果我直接将它们输入空闲命令行,python不会抱怨。我不确定我做错了什么 我使用的python版本是 win32上的Python 3.4.1(v3.4.1:c0e311e010fc,2014年5月18日,10:38:22)[MSC v.1600 32位(英特尔)] 剧本是 import http.client conn = http.client.HTTPConnect
import http.client
conn = http.client.HTTPConnection("192.168.1.2", 8080)
conn.request("GET", "/index.html")
r1 = conn.getresponse()
print(r1.status, r1.reason)
conn.close()
错误消息是
Traceback (most recent call last):
File "<frozen importlib._bootstrap>", line 2218, in _find_and_load_unlocked
AttributeError: 'module' object has no attribute '__path__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\User\Downloads\http.py", line 1, in <module>
import http.client
File "D:\User\Downloads\http.py", line 1, in <module>
import http.client
ImportError: No module named 'http.client'; 'http' is not a package
回溯(最近一次呼叫最后一次):
文件“”,第2218行,在“查找”和“加载”中解锁
AttributeError:“模块”对象没有属性“\u_路径”
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“D:\User\Downloads\http.py”,第1行,在
导入http.client
文件“D:\User\Downloads\http.py”,第1行,在
导入http.client
ImportError:没有名为“http.client”的模块;'“http”不是一个包
您可能已经创建了一个Python脚本,并在本地目录中将其命名为http.py
。这与同名的Python3内置模块冲突,并导致此错误。快速解决方案是将该文件重命名为不太通用的文件,以避免与Python内置模块冲突
但如果您坚持,您可以通过使用绝对导入完全限定本地python模块名称来消除名称歧义:
或
在Python 2上,需要在导入模块的最顶端启用绝对导入功能:
from __future__ import absolute_import
我也有同样的问题。在我的例子中,同一文件夹中还有另一个名为http.py的文件。我刚刚重新命名,问题解决了
from .http import something
from __future__ import absolute_import