为啥我的python 没有http.server

发布网友

我来回答

2个回答

懂视网

在 Linux 服务器上或安装了 Python 的机器上,Python自带了一个WEB服务器 SimpleHTTPServer。

我们可以很简单的使用 python -m SimpleHTTPServer 快速搭建一个http服务,提供一个文件浏览的web服务。

命令如下:(推荐学习:Python视频教程)

python3 -m http.server

python -m SimpleHTTPServer 8000

使用上面的命令可以把当前目录发布到8000端口。

但是这条命令是当前运行的,不是后台运行的,也就是说如果Ctrl + C,则该端口就会关闭。

python -m SimpleHTTPServer 8000 &

在上述命令的最后加一个 & ,则该命令产生的进程在后台运行,不会影响当前终端的使用(我们在只有一个bash的环境下)。

生成的新的进程为当前bash的子进程,所以,当我们关闭当前bash时,相应的子进程也会被kill掉,这也不是我们想要的结果。

nohup python -m SimpleHTTPServer 8000 &

在命令的开头加一个nohup,忽略所有的挂断信号,如果当前bash关闭,则当前进程会挂载到init进程下,成为其子进程,这样即使退出当前用户,其8000端口也可以使用。

更多Python相关技术文章,请访问Python教程栏目进行学习!

热心网友

在Windows下使用是有这个包的。 不过很奇怪,我在14.04版本上python2是没有,python3有。

这个不太对。因为http包应该是一个标准的包。其中有server模块更是常用。

可能问题就是在python2和python3上。在python2你可以用BaseHttpServer, SimpleHTTPServer, httplib等模块完成同样的功能。追问我是python2.7.8就能有http的模块,没有http.server

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com