我正在尝试在计算机上设置http服务器,但出现错误:
ModuleNotFoundError: No module named 'http.server'; 'http' is not a package
我的项目目录中有2个文件:http.py
和index.html
。
这里是http.py
:
import http.server
import socketserver
PORT = 8080
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("", PORT), Handler) as httpd:
print("serving at port", PORT)
httpd.serve_forever()
我已经尝试将模块更改为BaseHTTPServer
,但出现此错误:
ModuleNotFoundError: No module named 'BaseHTTPServer'
我还注意到我的终端上发生了一件奇怪的事情。如果我尝试做
python3 -m pip uninstall <module>
我收到诸如
之类的错误ModuleNotFoundError: No module named 'http.server'; 'http' is not a package
这让我失望,因为我什至没有运行文件。我提到这一点是为了表明某些本地配置可能是所有人的问题。
答案 0 :(得分:2)
您已将文件命名为http.py
。这将覆盖标准库http模块。解决:
http.py
重命名为其他名称。删除项目中的.pyc
个文件
find . -name "*.pyc" -delete
再次运行程序。
您可能有兴趣阅读modules and packages在Python中的工作方式。