Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python 3.4.1导入http.client encouter导入错误_Python_Python 3.x_Python Import - Fatal编程技术网

使用Python 3.4.1导入http.client encouter导入错误

使用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

我遵循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.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