2012-11-30 26 views
0

我尝试从python wiki运行第一个例子,当我尝试运行它:导入错误:无法导入名称BaseHTTPRequestHandler

$ python BaseHttpServer.py 

我得到一个错误AttributeError的:“模块”对象有没有属性“BaseHTTPRequestHandler”

我测试的Python 2.7.3 Linux上的Mageia 2 64位:

Traceback (most recent call last): 
    File "BaseHTTPServer.py", line 9, in <module> 
    import BaseHTTPServer 
    File "/home/vanveber/BaseHttpServer/BaseHTTPServer.py", line 14, in <module> 
    class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): 
AttributeError: 'module' object has no attribute 'BaseHTTPRequestHandler' 

而且它的Python 2.7.3在Windows 7 64位

Traceback (most recent call last): 
    File "BaseHTTPServer.py", line 11, in <module> 
    from BaseHTTPServer import BaseHTTPRequestHandler 
    File "C:\BaseHttpServer\BaseHTTPServer.py", line 11, in <module> 
    from BaseHTTPServer import BaseHTTPRequestHandler 
ImportError: cannot import name BaseHTTPRequestHandler 

BUT!

  1. BaseHttpServer是从标准Python库一个类。
  2. 如果我从编写并运行此代码,则在Windows上的Python GUI工作正常!

什么是问题,为什么?

回答

3

解决方案:重命名python文件。

说明: BaseHTTPServer是标准库中的模块。当你在你的本地目录中称为BaseHTTPServer.py Python文件,你会隐藏标准库模块,并且可以不再进口,因为该声明

import BaseHTTPServer 

将不导入标准库模块,但本地的BaseHTTPServer.py模块。

+0

**你是绝对正确的!**非常感谢! – dzav

相关问题