如何为我的Python脚本创建本地Web服务器?

18 投票
4 回答
29988 浏览
提问于 2025-04-15 11:40

我想在本地搭建一个网页服务器,用来运行一系列的Python脚本,供用户使用。由于一些不可避免的原因,这些Python脚本必须在本地运行,而不能放在远程服务器上。因此,我打算用HTML和浏览器作为前端界面,这我比较熟悉。

所以,我一直在寻找一个轻量级的网页服务器,能够在后台执行Python脚本,最好能作为Windows服务运行。安全性和可扩展性不是我的主要考虑,因为这一切都是在一个小型网络内部运行的。

我应该直接在Windows服务中运行一个原生的Python网页服务器吗?如果是这样的话,该怎么做?或者说,安装Apache在用户的机器上并作为CGI运行是不是同样简单?因为这一切都是本地的,所以性能也不是问题。

或者我是不是漏掉了什么明显的东西?

4 个回答

2

最好的方法是通过命令提示符创建自己的本地服务器。

  1. 先新建一个文件夹,叫做 Project。
  2. 在 Project 文件夹里面再新建一个文件夹,命名为 "cgi-bin"(不带引号)。
  3. 把你的 .py 文件放到 cgi-bin 文件夹里。
  4. 打开命令提示符,切换到你想要运行服务器的目录,然后输入 "python -m CGIHTTPServer"(不带引号)。
  5. 把命令提示符窗口最小化,打开你的浏览器,输入 "localhost:8000/cgi-bin/你的python文件名.py"(不带引号)。
3

最简单的步骤就是找到你文件所在的文件夹,然后运行 http.server 模块。

cd /yourapp
python3 -m http.server

然后你应该在控制台看到类似下面的内容:

正在通过 0.0.0.0 的 8000 端口提供 HTTP 服务 (http://0.0.0.0:8000/) ...

17

别浪费太多时间去创建Windows服务。

也别在Windows Apache上浪费时间。

直接做一个能响应HTTP请求的Python服务就行了。

可以看看 这个链接
还有这个链接,这是Python 3的文档。
Python提供了一个HTTP服务器,你可以在这个基础上添加自己的服务器端方法。

再看看 这个链接
Python还提供了一个WSGI的参考实现,让你的服务器更简单,并符合标准。

还有 这个链接


“我想避免让用户从命令提示符运行Python程序。”

我觉得点击网页和点击桌面图标没什么区别。

一旦你有了基于Python的网络服务器,启动它其实很简单。首先,搭建好服务器。之后,你可以确保服务器能自动启动。我们来看看一些方法。

  1. 用户不能随便用浏览器打开你的本地页面。他们需要一个书签来启动“localhost:8000/myspecialserverinsteadofthedestop/”。这个书签可以是一个.BAT文件,里面可以(1)运行服务器,(2)用Firefox打开正确的初始网址。

  2. 你可以把服务器放在用户的“开始”菜单里。

  3. 你还可以把你的Python程序做成Windows的“服务”。

撰写回答